aboutsummaryrefslogtreecommitdiff
path: root/devtools
diff options
context:
space:
mode:
authorJulien2011-06-02 16:51:51 -0400
committerJulien2011-06-02 17:29:38 -0400
commitd4d857738ad9cd9e965be136e5c2b983ec23a761 (patch)
tree188dafe74bfd70dc4b93735feadd987ec502f089 /devtools
parentc0ef09f5466402183d71948ad4621d6554ff5a94 (diff)
downloadscummvm-rg350-d4d857738ad9cd9e965be136e5c2b983ec23a761.tar.gz
scummvm-rg350-d4d857738ad9cd9e965be136e5c2b983ec23a761.tar.bz2
scummvm-rg350-d4d857738ad9cd9e965be136e5c2b983ec23a761.zip
CREATE_PROJECT: Add FrameworkBuildPhase output to XCode provider
Diffstat (limited to 'devtools')
-rwxr-xr-x[-rw-r--r--]devtools/create_project/xcode.cpp141
1 files changed, 140 insertions, 1 deletions
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index 9e80e3e7f2..7ecdf3df16 100644..100755
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -224,7 +224,146 @@ void XCodeProvider::setupCopyFilesBuildPhase() {
* (each native target has different build rules)
*/
void XCodeProvider::setupFrameworksBuildPhase() {
- // TODO
+ _frameworksBuildPhase.comment = "PBXFrameworksBuildPhase";
+
+ // Setup framework file properties
+ std::map<std::string, FileProperty> properties;
+
+ // Frameworks
+ properties["ApplicationServices.framework"] = FileProperty("wrapper.framework", "ApplicationServices.framework", "System/Library/Frameworks/ApplicationServices.framework", "SDKROOT");
+ properties["AudioToolbox.framework"] = FileProperty("wrapper.framework", "AudioToolbox.framework", "System/Library/Frameworks/AudioToolbox.framework", "SDKROOT");
+ properties["AudioUnit.framework"] = FileProperty("wrapper.framework", "AudioUnit.framework", "System/Library/Frameworks/AudioUnit.framework", "SDKROOT");
+ properties["Carbon.framework"] = FileProperty("wrapper.framework", "Carbon.framework", "System/Library/Frameworks/Carbon.framework", "SDKROOT");
+ properties["Cocoa.framework"] = FileProperty("wrapper.framework", "Cocoa.framework", "System/Library/Frameworks/Cocoa.framework", "SDKROOT");
+ properties["CoreAudio.framework"] = FileProperty("wrapper.framework", "CoreAudio.framework", "System/Library/Frameworks/CoreAudio.framework", "SDKROOT");
+ properties["CoreFoundation.framework"] = FileProperty("wrapper.framework", "CoreFoundation.framework", "System/Library/Frameworks/CoreFoundation.framework", "SDKROOT");
+ properties["CoreMIDI.framework"] = FileProperty("wrapper.framework", "CoreMIDI.framework", "System/Library/Frameworks/CoreMIDI.framework", "SDKROOT");
+ properties["Foundation.framework"] = FileProperty("wrapper.framework", "Foundation.framework", "System/Library/Frameworks/Foundation.framework", "SDKROOT");
+ properties["IOKit.framework"] = FileProperty("wrapper.framework", "IOKit.framework", "System/Library/Frameworks/IOKit.framework", "SDKROOT");
+ properties["OpenGLES.framework"] = FileProperty("wrapper.framework", "OpenGLES.framework", "System/Library/Frameworks/OpenGLES.framework", "SDKROOT");
+ properties["QuartzCore.framework"] = FileProperty("wrapper.framework", "QuartzCore.framework", "System/Library/Frameworks/QuartzCore.framework", "SDKROOT");
+ properties["QuickTime.framework"] = FileProperty("wrapper.framework", "QuickTime.framework", "System/Library/Frameworks/QuickTime.framework", "SDKROOT");
+ properties["UIKit.framework"] = FileProperty("wrapper.framework", "UIKit.framework", "System/Library/Frameworks/UIKit.framework", "SDKROOT");
+
+ // Local libraries
+ properties["libFLAC.a"] = FileProperty("archive.ar", "libFLAC.a", "lib/libFLAC.a", "\"<group>\"");
+ properties["libmad.a"] = FileProperty("archive.ar", "libmad.a", "lib/libmad.a", "\"<group>\"");
+ //properties["libmpeg2.a"] = FileProperty("archive.ar", "libmpeg2.a", "lib/libmpeg2.a", "\"<group>\"");
+ properties["libvorbisidec.a"] = FileProperty("archive.ar", "libvorbisidec.a", "lib/libvorbisidec.a", "\"<group>\"");
+
+ //////////////////////////////////////////////////////////////////////////
+ // iPhone
+ Object *framework_iPhone = new Object(this, "PBXFrameworksBuildPhase_" + _targets[0], "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
+
+ framework_iPhone->addProperty("buildActionMask", "2147483647", "", SettingsNoValue);
+ framework_iPhone->addProperty("runOnlyForDeploymentPostprocessing", "0", "", SettingsNoValue);
+
+ // List of frameworks
+ Property iPhone_files;
+ iPhone_files.hasOrder = true;
+ iPhone_files.flags = SettingsAsList;
+
+ ValueList frameworks_iPhone;
+ frameworks_iPhone.push_back("CoreAudio.framework");
+ frameworks_iPhone.push_back("CoreFoundation.framework");
+ frameworks_iPhone.push_back("Foundation.framework");
+ frameworks_iPhone.push_back("UIKit.framework");
+ frameworks_iPhone.push_back("AudioToolbox.framework");
+ frameworks_iPhone.push_back("QuartzCore.framework");
+ frameworks_iPhone.push_back("libmad.a");
+ //frameworks_iPhone.push_back("libmpeg2.a");
+ frameworks_iPhone.push_back("libFLAC.a");
+ frameworks_iPhone.push_back("libvorbisidec.a");
+ frameworks_iPhone.push_back("OpenGLES.framework");
+
+ int order = 0;
+ for (ValueList::iterator framework = frameworks_iPhone.begin(); framework != frameworks_iPhone.end(); framework++) {
+ std::string id = "Frameworks_" + *framework + "_iphone";
+ std::string comment = *framework + " in Frameworks";
+
+ ADD_SETTING_ORDER_NOVALUE(iPhone_files, getHash(id), comment, order++);
+ ADD_BUILD_FILE(id, *framework, comment);
+ ADD_FILE_REFERENCE(*framework, properties[*framework]);
+ }
+
+ framework_iPhone->properties["files"] = iPhone_files;
+
+ _frameworksBuildPhase.add(framework_iPhone);
+
+ //////////////////////////////////////////////////////////////////////////
+ // ScummVM-OS X
+ Object *framework_OSX = new Object(this, "PBXFrameworksBuildPhase_" + _targets[1], "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
+
+ framework_OSX->addProperty("buildActionMask", "2147483647", "", SettingsNoValue);
+ framework_OSX->addProperty("runOnlyForDeploymentPostprocessing", "0", "", SettingsNoValue);
+
+ // List of frameworks
+ Property osx_files;
+ osx_files.hasOrder = true;
+ osx_files.flags = SettingsAsList;
+
+ ValueList frameworks_osx;
+ frameworks_osx.push_back("CoreFoundation.framework");
+ frameworks_osx.push_back("Foundation.framework");
+ frameworks_osx.push_back("AudioToolbox.framework");
+ frameworks_osx.push_back("QuickTime.framework");
+ frameworks_osx.push_back("CoreMIDI.framework");
+ frameworks_osx.push_back("CoreAudio.framework");
+ frameworks_osx.push_back("QuartzCore.framework");
+ frameworks_osx.push_back("Carbon.framework");
+ frameworks_osx.push_back("ApplicationServices.framework");
+ frameworks_osx.push_back("IOKit.framework");
+ frameworks_osx.push_back("Cocoa.framework");
+ frameworks_osx.push_back("AudioUnit.framework");
+
+ order = 0;
+ for (ValueList::iterator framework = frameworks_osx.begin(); framework != frameworks_osx.end(); framework++) {
+ std::string id = "Frameworks_" + *framework + "_osx";
+ std::string comment = *framework + " in Frameworks";
+
+ ADD_SETTING_ORDER_NOVALUE(osx_files, getHash(id), comment, order++);
+ ADD_BUILD_FILE(id, *framework, comment);
+ ADD_FILE_REFERENCE(*framework, properties[*framework]);
+ }
+
+ framework_OSX->properties["files"] = osx_files;
+
+ _frameworksBuildPhase.add(framework_OSX);
+
+ //////////////////////////////////////////////////////////////////////////
+ // Simulator
+ Object *framework_simulator = new Object(this, "PBXFrameworksBuildPhase_" + _targets[2], "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
+
+ framework_simulator->addProperty("buildActionMask", "2147483647", "", SettingsNoValue);
+ framework_simulator->addProperty("runOnlyForDeploymentPostprocessing", "0", "", SettingsNoValue);
+
+ // List of frameworks
+ Property simulator_files;
+ simulator_files.hasOrder = true;
+ simulator_files.flags = SettingsAsList;
+
+ ValueList frameworks_simulator;
+ frameworks_simulator.push_back("CoreAudio.framework");
+ frameworks_simulator.push_back("CoreFoundation.framework");
+ frameworks_simulator.push_back("Foundation.framework");
+ frameworks_simulator.push_back("UIKit.framework");
+ frameworks_simulator.push_back("AudioToolbox.framework");
+ frameworks_simulator.push_back("QuartzCore.framework");
+ frameworks_simulator.push_back("OpenGLES.framework");
+
+ order = 0;
+ for (ValueList::iterator framework = frameworks_simulator.begin(); framework != frameworks_simulator.end(); framework++) {
+ std::string id = "Frameworks_" + *framework + "_simulator";
+ std::string comment = *framework + " in Frameworks";
+
+ ADD_SETTING_ORDER_NOVALUE(simulator_files, getHash(id), comment, order++);
+ ADD_BUILD_FILE(id, *framework, comment);
+ ADD_FILE_REFERENCE(*framework, properties[*framework]);
+ }
+
+ framework_simulator->properties["files"] = simulator_files;
+
+ _frameworksBuildPhase.add(framework_simulator);
}
void XCodeProvider::setupNativeTarget() {