diff options
author | Julien | 2011-06-02 15:53:21 -0400 |
---|---|---|
committer | Julien | 2011-06-02 17:29:37 -0400 |
commit | c0ef09f5466402183d71948ad4621d6554ff5a94 (patch) | |
tree | dc9c170adb21ef091226b3247cb83fb65c1414d2 /devtools | |
parent | 9854f1b48667b082f9ee1c377dcba5b44e92827b (diff) | |
download | scummvm-rg350-c0ef09f5466402183d71948ad4621d6554ff5a94.tar.gz scummvm-rg350-c0ef09f5466402183d71948ad4621d6554ff5a94.tar.bz2 scummvm-rg350-c0ef09f5466402183d71948ad4621d6554ff5a94.zip |
CREATE_PROJECT: Add NativeTarget output to XCode provider
Diffstat (limited to 'devtools')
-rw-r--r-- | devtools/create_project/xcode.cpp | 41 |
1 files changed, 34 insertions, 7 deletions
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp index 65491d2f87..9e80e3e7f2 100644 --- a/devtools/create_project/xcode.cpp +++ b/devtools/create_project/xcode.cpp @@ -215,7 +215,7 @@ void XCodeProvider::writeFileListToProject(const FileNode &dir, std::ofstream &p // Setup functions ////////////////////////////////////////////////////////////////////////// void XCodeProvider::setupCopyFilesBuildPhase() { - // TODO + // Nothing to do here } /** @@ -228,7 +228,33 @@ void XCodeProvider::setupFrameworksBuildPhase() { } void XCodeProvider::setupNativeTarget() { - // TODO + _nativeTarget.comment = "PBXNativeTarget"; + + // Output native target section + for (unsigned int i = 0; i < _targets.size(); i++) { + Object *target = new Object(this, "PBXNativeTarget_" + _targets[i], "PBXNativeTarget", "PBXNativeTarget", "", _targets[i]); + + target->addProperty("buildConfigurationList", getHash("XCConfigurationList_" + _targets[i]), "Build configuration list for PBXNativeTarget \"" + _targets[i] + "\"", SettingsNoValue); + + Property buildPhases; + buildPhases.hasOrder = true; + buildPhases.flags = SettingsAsList; + buildPhases.settings[getHash("PBXResourcesBuildPhase_" + _targets[i])] = Setting("", "Resources", SettingsNoValue, 0, 0); + buildPhases.settings[getHash("PBXSourcesBuildPhase_" + _targets[i])] = Setting("", "Sources", SettingsNoValue, 0, 1); + buildPhases.settings[getHash("PBXFrameworksBuildPhase_" + _targets[i])] = Setting("", "Frameworks", SettingsNoValue, 0, 2); + target->properties["buildPhases"] = buildPhases; + + target->addProperty("buildRules", "", "", SettingsNoValue|SettingsAsList); + + target->addProperty("dependencies", "", "", SettingsNoValue|SettingsAsList); + + target->addProperty("name", _targets[i], "", SettingsNoValue|SettingsQuoteVariable); + target->addProperty("productName", "scummvm", "", SettingsNoValue); + target->addProperty("productReference", getHash("PBXFileReference_ScummVM.app_" + _targets[i]), "ScummVM.app", SettingsNoValue); + target->addProperty("productType", "com.apple.product-type.application", "", SettingsNoValue|SettingsQuoteVariable); + + _nativeTarget.add(target); + } } void XCodeProvider::setupProject() { @@ -255,11 +281,12 @@ void XCodeProvider::setupProject() { project->addProperty("projectRoot", "", "", SettingsNoValue|SettingsQuoteVariable); // List of targets - //Property targets; - //targets.flags = SettingsAsList; - // TODO - //project->properties["targets"] = targets; - project->addProperty("targets", "", "", SettingsNoValue|SettingsAsList); + Property targets; + targets.flags = SettingsAsList; + targets.settings[getHash("PBXNativeTarget_" + _targets[0])] = Setting("", _targets[0], SettingsNoValue, 0, 0); + targets.settings[getHash("PBXNativeTarget_" + _targets[1])] = Setting("", _targets[1], SettingsNoValue, 0, 1); + targets.settings[getHash("PBXNativeTarget_" + _targets[2])] = Setting("", _targets[2], SettingsNoValue, 0, 2); + project->properties["targets"] = targets; _project.add(project); } |