Add XCode project for debugging.

This commit is contained in:
Mike Alexander 2014-02-20 01:11:22 -05:00
parent b032a33b03
commit d07f1dbacd
6 changed files with 3025 additions and 2 deletions

10
.gitignore vendored
View File

@ -21,7 +21,7 @@ Makefile.in
TAGS
aclocal.m4
autom4te.cache
build*
build*/
compile
config.guess
config.h
@ -249,4 +249,10 @@ gnucash.creator
gnucash.creator.user
gnucash.files
gnucash.includes
*.xcodeproj
DerivedData/
*.pbxuser
*.mode1v3
*.mode2v3
*.perspectivev3
xcuserdata/

46
HACKING
View File

@ -188,3 +188,49 @@ for A in `find src/business/business-core -name '*.so'`; do \
sed 's/^.* \([^ ]*\)$/\1/' | grep -wFf- exportedsymbols | \
cut -d: -f1 | sort | uniq; done
XCode project
-------------
There is an XCode project available in gnucash.xcodeproj at the root of the
source tree. This project can be used with XCode on a Macintosh to debug
GnuCash. It is not set up to build GnuCash, but only to debug it. Building must
be done using the normal command line tools.
This project is designed to be used with the X Window version of GnuCash, not
the native Quartz version. To use it you must build and install GnuCash into
directories "build" and "install" parallel to the source directory. Furthermore
the architecture dependent parts of the install are put in a subdirectory
"install/darwin".
To build, then, if the source directory is somewhere/gnucash you must create the
directories somewhere/build/darwin and somewhere/install/darwin/bin, cd into
somewhere/build/darwin and execute
../../gnucash/configure --prefix=../../install \
--exec-prefix=../../install/bin \
--enable-debug \
...other options...
make
make install
This will build and install a copy of GnuCash that can be debugged using the
XCode project.
The debug target in the project is set with a build tool of /usr/bin/true so
building in XCode won't hurt anything, it just won't do much. It is also set to
not launch GnuCash automatically, but rather to wait for it to be launched
manually. This lets you run it from a command prompt and see the console output
which can often be useful. Hence to initiate a debugging session in XCode, tell
XCode to run GnuCash then go to a terminal window and launch install/darwin/bin/gnucash
with whatever options you want. XCode will notice that it has been launched and
attach to the process.
Since there seems to be no way to make the path to the executable a relative
path, you must make one change to the debug scheme before you can run gnucash
under XCode. In XCode 5 (other versions may be different) go to
Product->Scheme->Edit Scheme and select the "info" tab of the "Run gnucash"
pane. Select "Other..." in the "Executable" menu and select the installed binary
for gnucash in the resulting file open dialog. This should be
install/darwin/bin/gnucash as described above. This, and the act of opening the
project in XCode, will change some of the files in the XCode project directory.
You can, or course, commit these locally, but please don't push them upstream.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:gnucash.xcodeproj">
</FileRef>
</Workspace>

View File

@ -0,0 +1,41 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDESourceControlProjectFavoriteDictionaryKey</key>
<false/>
<key>IDESourceControlProjectIdentifier</key>
<string>7C0F9071-5F34-4A6E-863E-3F0B0A6FA6F5</string>
<key>IDESourceControlProjectName</key>
<string>gnucash</string>
<key>IDESourceControlProjectOriginsDictionary</key>
<dict>
<key>C3786002-363C-453E-BC43-4B9FC637A0A3</key>
<string>git://github.com/Gnucash/gnucash.git</string>
</dict>
<key>IDESourceControlProjectPath</key>
<string>gnucash.xcodeproj/project.xcworkspace</string>
<key>IDESourceControlProjectRelativeInstallPathDictionary</key>
<dict>
<key>C3786002-363C-453E-BC43-4B9FC637A0A3</key>
<string>../..</string>
</dict>
<key>IDESourceControlProjectURL</key>
<string>git://github.com/Gnucash/gnucash.git</string>
<key>IDESourceControlProjectVersion</key>
<integer>110</integer>
<key>IDESourceControlProjectWCCIdentifier</key>
<string>C3786002-363C-453E-BC43-4B9FC637A0A3</string>
<key>IDESourceControlProjectWCConfigurations</key>
<array>
<dict>
<key>IDESourceControlRepositoryExtensionIdentifierKey</key>
<string>public.vcs.git</string>
<key>IDESourceControlWCCIdentifierKey</key>
<string>C3786002-363C-453E-BC43-4B9FC637A0A3</string>
<key>IDESourceControlWCCName</key>
<string>gnucash</string>
</dict>
</array>
</dict>
</plist>

View File

@ -0,0 +1,93 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "0460"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
buildImplicitDependencies = "YES">
<BuildActionEntries>
<BuildActionEntry
buildForTesting = "YES"
buildForRunning = "YES"
buildForProfiling = "YES"
buildForArchiving = "YES"
buildForAnalyzing = "YES">
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6E0F8138098D492A00D0BB5C"
BuildableName = "debug"
BlueprintName = "debug"
ReferencedContainer = "container:gnucash.xcodeproj">
</BuildableReference>
</BuildActionEntry>
</BuildActionEntries>
</BuildAction>
<TestAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
shouldUseLaunchSchemeArgsEnv = "YES"
buildConfiguration = "Debug">
<Testables>
</Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6E0F8138098D492A00D0BB5C"
BuildableName = "debug"
BlueprintName = "debug"
ReferencedContainer = "container:gnucash.xcodeproj">
</BuildableReference>
</MacroExpansion>
</TestAction>
<LaunchAction
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
launchStyle = "1"
useCustomWorkingDirectory = "NO"
buildConfiguration = "Debug"
ignoresPersistentStateOnLaunch = "NO"
debugDocumentVersioning = "YES"
allowLocationSimulation = "YES">
<PathRunnable
FilePath = "/tools/gnucash-git/install/darwin/bin/gnucash">
</PathRunnable>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "6E0F8138098D492A00D0BB5C"
BuildableName = "debug"
BlueprintName = "debug"
ReferencedContainer = "container:gnucash.xcodeproj">
</BuildableReference>
</MacroExpansion>
<CommandLineArguments>
<CommandLineArgument
argument = "--nofile"
isEnabled = "YES">
</CommandLineArgument>
</CommandLineArguments>
<EnvironmentVariables>
<EnvironmentVariable
key = "PYTHONPATH"
value = "$SRCROOT/../install/darwin/lib/python2.7/site-packages"
isEnabled = "YES">
</EnvironmentVariable>
</EnvironmentVariables>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction>
<ProfileAction
shouldUseLaunchSchemeArgsEnv = "YES"
savedToolIdentifier = ""
useCustomWorkingDirectory = "NO"
buildConfiguration = "Release"
debugDocumentVersioning = "YES">
</ProfileAction>
<AnalyzeAction
buildConfiguration = "Debug">
</AnalyzeAction>
<ArchiveAction
buildConfiguration = "Release"
revealArchiveInOrganizer = "YES">
</ArchiveAction>
</Scheme>