mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
Add XCode project for debugging.
This commit is contained in:
parent
b032a33b03
commit
d07f1dbacd
10
.gitignore
vendored
10
.gitignore
vendored
@ -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
46
HACKING
@ -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.
|
||||
|
2830
gnucash.xcodeproj/project.pbxproj
Normal file
2830
gnucash.xcodeproj/project.pbxproj
Normal file
File diff suppressed because it is too large
Load Diff
7
gnucash.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
gnucash.xcodeproj/project.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,7 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<Workspace
|
||||
version = "1.0">
|
||||
<FileRef
|
||||
location = "self:gnucash.xcodeproj">
|
||||
</FileRef>
|
||||
</Workspace>
|
@ -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>
|
93
gnucash.xcodeproj/xcshareddata/xcschemes/debug.xcscheme
Normal file
93
gnucash.xcodeproj/xcshareddata/xcschemes/debug.xcscheme
Normal 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>
|
Loading…
Reference in New Issue
Block a user