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
|
TAGS
|
||||||
aclocal.m4
|
aclocal.m4
|
||||||
autom4te.cache
|
autom4te.cache
|
||||||
build*
|
build*/
|
||||||
compile
|
compile
|
||||||
config.guess
|
config.guess
|
||||||
config.h
|
config.h
|
||||||
@ -249,4 +249,10 @@ gnucash.creator
|
|||||||
gnucash.creator.user
|
gnucash.creator.user
|
||||||
gnucash.files
|
gnucash.files
|
||||||
gnucash.includes
|
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 | \
|
sed 's/^.* \([^ ]*\)$/\1/' | grep -wFf- exportedsymbols | \
|
||||||
cut -d: -f1 | sort | uniq; done
|
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