[Scummvm-git-logs] scummvm master -> 919f3a25d2c27ec5ed4c8baadc74c4ff61b3c98a
larsamannen
noreply at scummvm.org
Thu Nov 20 19:25:44 UTC 2025
This automated email contains information about 8 new commits which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
130c68813d DISTS: Set UIDesignRequiresCompatibility to true in ios7 Info.plist
ac530f625b CI: Update configFlags when building iOS
9a38c499aa CREATE_PROJECT: Minor cleanups on Xcode generator
311e01d687 CI: Don't disable nasm on Xcode
96be501f58 CREATE_PROJECT: Remove useless attribute from ProjectProvider
3dc77757fa CREATE_PROJECT: Fix memory leaks and uninitialized variable
b8f5e93880 CREATE_PROJECT: Split iOS and tvOS from macOS XCode projects
919f3a25d2 DOCPORTAL: Update build instructions for iOS and tvOS ports
Commit: 130c68813d25a8fe09881c40ffe3e4803c8672a1
https://github.com/scummvm/scummvm/commit/130c68813d25a8fe09881c40ffe3e4803c8672a1
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
DISTS: Set UIDesignRequiresCompatibility to true in ios7 Info.plist
The "Liquid Glass" material introduced in iOS 26 cause the custom
toolbar to look bad. Set UIDesignRequiresCompatibility to true to
force all the system elements to look the same as in previous iOS
versions.
Changed paths:
dists/ios7/Info.plist
dists/ios7/Info.plist.in
diff --git a/dists/ios7/Info.plist b/dists/ios7/Info.plist
index 9d5df6be684..a9b97cb62f1 100644
--- a/dists/ios7/Info.plist
+++ b/dists/ios7/Info.plist
@@ -70,5 +70,7 @@
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
+ <key>UIDesignRequiresCompatibility</key>
+ <true/>
</dict>
</plist>
diff --git a/dists/ios7/Info.plist.in b/dists/ios7/Info.plist.in
index 247e7f0d568..5829bec7de7 100644
--- a/dists/ios7/Info.plist.in
+++ b/dists/ios7/Info.plist.in
@@ -70,5 +70,7 @@
<string>UIInterfaceOrientationPortrait</string>
<string>UIInterfaceOrientationPortraitUpsideDown</string>
</array>
+ <key>UIDesignRequiresCompatibility</key>
+ <true/>
</dict>
</plist>
Commit: ac530f625bf74261c9de10086d2bebc0e97fc9d0
https://github.com/scummvm/scummvm/commit/ac530f625bf74261c9de10086d2bebc0e97fc9d0
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
CI: Update configFlags when building iOS
Enable the A52 feature when building the iOS port in CI actions.
Changed paths:
.github/workflows/ci.yml
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2a2b4c572a6..2f4813709b4 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -159,7 +159,7 @@ jobs:
brewPackages: a52dec faad2 flac fluid-synth freetype fribidi giflib jpeg mad libmikmod libmpeg2 libogg libpng libvorbis libvpx sdl2 sdl2_net theora
- platform: ios7
buildFlags: -scheme ScummVM-iOS CODE_SIGN_IDENTITY="" CODE_SIGNING_ALLOWED=NO
- configFlags: --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --disable-nasm --disable-taskbar --disable-tts
+ configFlags: --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --enable-a52 --disable-nasm --disable-taskbar --disable-tts
packagesUrl: https://downloads.scummvm.org/frs/build/scummvm-ios7-libs-v4.zip
defaults:
run:
Commit: 9a38c499aa9bbc2dcbef92a2046f056c718fd3b7
https://github.com/scummvm/scummvm/commit/9a38c499aa9bbc2dcbef92a2046f056c718fd3b7
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
CREATE_PROJECT: Minor cleanups on Xcode generator
Stay consistent between NASM and other defines.
Don't remove defines already removed.
Changed paths:
devtools/create_project/xcode.cpp
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index 626da62ecbd..b5875379b7e 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -1338,10 +1338,6 @@ void XcodeProvider::setupBuildConfiguration(const BuildSetup &setup) {
scummvm_WarningCFlags.push_back("-Werror=return-type");
ADD_SETTING_LIST(scummvm_Debug, "WARNING_CFLAGS", scummvm_WarningCFlags, kSettingsQuoteVariable | kSettingsAsList, 5);
ValueList scummvm_defines(_defines);
- REMOVE_DEFINE(scummvm_defines, "MACOSX");
- REMOVE_DEFINE(scummvm_defines, "IPHONE");
- REMOVE_DEFINE(scummvm_defines, "IPHONE_IOS7");
- REMOVE_DEFINE(scummvm_defines, "SDL_BACKEND");
ADD_SETTING_LIST(scummvm_Debug, "GCC_PREPROCESSOR_DEFINITIONS", scummvm_defines, kSettingsNoQuote | kSettingsAsList, 5);
ADD_SETTING(scummvm_Debug, "GCC_WARN_ABOUT_RETURN_TYPE", "YES");
ADD_SETTING(scummvm_Debug, "GCC_WARN_UNUSED_VARIABLE", "YES");
@@ -1677,11 +1673,9 @@ void XcodeProvider::setupAdditionalSources(std::string targetName, Property &fil
void XcodeProvider::setupDefines(const BuildSetup &setup) {
for (StringList::const_iterator i = setup.defines.begin(); i != setup.defines.end(); ++i) {
- if (*i == "USE_NASM") // Not supported on Mac
- continue;
-
ADD_DEFINE(_defines, *i);
}
+ REMOVE_DEFINE(_defines, "USE_NASM"); // Not supported on Mac
// Add special defines for Mac support
REMOVE_DEFINE(_defines, "MACOSX");
REMOVE_DEFINE(_defines, "IPHONE");
Commit: 311e01d687ea2517c2feb5c9847154e7e6d81fdc
https://github.com/scummvm/scummvm/commit/311e01d687ea2517c2feb5c9847154e7e6d81fdc
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
CI: Don't disable nasm on Xcode
This is already handled in create_project
Changed paths:
.github/workflows/ci.yml
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 2f4813709b4..c3221364ccf 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -155,11 +155,11 @@ jobs:
include:
- platform: macosx
buildFlags: -scheme ScummVM-macOS -destination 'platform=macOS,arch=x86_64'
- configFlags: --disable-nasm --enable-faad --enable-gif --enable-mikmod --enable-mpeg2 --enable-vpx
+ configFlags: --enable-faad --enable-gif --enable-mikmod --enable-mpeg2 --enable-vpx
brewPackages: a52dec faad2 flac fluid-synth freetype fribidi giflib jpeg mad libmikmod libmpeg2 libogg libpng libvorbis libvpx sdl2 sdl2_net theora
- platform: ios7
buildFlags: -scheme ScummVM-iOS CODE_SIGN_IDENTITY="" CODE_SIGNING_ALLOWED=NO
- configFlags: --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --enable-a52 --disable-nasm --disable-taskbar --disable-tts
+ configFlags: --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --enable-a52 --disable-taskbar --disable-tts
packagesUrl: https://downloads.scummvm.org/frs/build/scummvm-ios7-libs-v4.zip
defaults:
run:
Commit: 96be501f5895bbc99bb09eacbba18ac79d46f4e8
https://github.com/scummvm/scummvm/commit/96be501f5895bbc99bb09eacbba18ac79d46f4e8
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
CREATE_PROJECT: Remove useless attribute from ProjectProvider
Move it to MSVC where it's really needed.
Changed paths:
devtools/create_project/cmake.cpp
devtools/create_project/cmake.h
devtools/create_project/codeblocks.cpp
devtools/create_project/codeblocks.h
devtools/create_project/create_project.cpp
devtools/create_project/create_project.h
devtools/create_project/msvc.cpp
devtools/create_project/msvc.h
devtools/create_project/xcode.cpp
devtools/create_project/xcode.h
diff --git a/devtools/create_project/cmake.cpp b/devtools/create_project/cmake.cpp
index c178cef2371..02fbcf9f609 100644
--- a/devtools/create_project/cmake.cpp
+++ b/devtools/create_project/cmake.cpp
@@ -29,8 +29,8 @@
namespace CreateProjectTool {
-CMakeProvider::CMakeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version)
- : ProjectProvider(global_warnings, project_warnings, global_errors, version) {
+CMakeProvider::CMakeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors)
+ : ProjectProvider(global_warnings, project_warnings, global_errors) {
}
const CMakeProvider::Library *CMakeProvider::getLibraryFromFeature(const char *feature, SDLVersion useSDL) const {
diff --git a/devtools/create_project/cmake.h b/devtools/create_project/cmake.h
index 91a5fb69eab..438c310ebc4 100644
--- a/devtools/create_project/cmake.h
+++ b/devtools/create_project/cmake.h
@@ -34,7 +34,7 @@ namespace CreateProjectTool {
*/
class CMakeProvider final : public ProjectProvider {
public:
- CMakeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version = 0);
+ CMakeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors);
protected:
diff --git a/devtools/create_project/codeblocks.cpp b/devtools/create_project/codeblocks.cpp
index 119417698e2..4d5d90b0100 100644
--- a/devtools/create_project/codeblocks.cpp
+++ b/devtools/create_project/codeblocks.cpp
@@ -27,8 +27,8 @@
namespace CreateProjectTool {
-CodeBlocksProvider::CodeBlocksProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version)
- : ProjectProvider(global_warnings, project_warnings, global_errors, version) {
+CodeBlocksProvider::CodeBlocksProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors)
+ : ProjectProvider(global_warnings, project_warnings, global_errors) {
}
void CodeBlocksProvider::createWorkspace(const BuildSetup &setup) {
diff --git a/devtools/create_project/codeblocks.h b/devtools/create_project/codeblocks.h
index 8718d47041a..ce9352cf228 100644
--- a/devtools/create_project/codeblocks.h
+++ b/devtools/create_project/codeblocks.h
@@ -28,7 +28,7 @@ namespace CreateProjectTool {
class CodeBlocksProvider final : public ProjectProvider {
public:
- CodeBlocksProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version = 0);
+ CodeBlocksProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors);
protected:
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index 1720b04282f..6c038812032 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -1873,8 +1873,8 @@ FileNode *scanFiles(const std::string &dir, const StringList &includeList, const
//////////////////////////////////////////////////////////////////////////
// Project Provider methods
//////////////////////////////////////////////////////////////////////////
-ProjectProvider::ProjectProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version)
- : _version(version), _globalWarnings(global_warnings), _projectWarnings(project_warnings), _globalErrors(global_errors) {
+ProjectProvider::ProjectProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors)
+ : _globalWarnings(global_warnings), _projectWarnings(project_warnings), _globalErrors(global_errors) {
}
void ProjectProvider::createProject(BuildSetup &setup) {
diff --git a/devtools/create_project/create_project.h b/devtools/create_project/create_project.h
index b64c8e2b728..d80b6a2364c 100644
--- a/devtools/create_project/create_project.h
+++ b/devtools/create_project/create_project.h
@@ -566,7 +566,7 @@ public:
* @param project_warnings List of project-specific warnings
* @param version Target project version.
*/
- ProjectProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version = 0);
+ ProjectProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors);
virtual ~ProjectProvider() {}
/**
@@ -585,7 +585,6 @@ public:
static std::string getLastPathComponent(const std::string &path);
protected:
- const int _version; ///< Target project version
StringList &_globalWarnings; ///< Global (ignored) warnings
StringList &_globalErrors; ///< Global errors (promoted from warnings)
std::map<std::string, StringList> &_projectWarnings; ///< Per-project warnings
diff --git a/devtools/create_project/msvc.cpp b/devtools/create_project/msvc.cpp
index c6d810673c1..5a866d9b1c3 100644
--- a/devtools/create_project/msvc.cpp
+++ b/devtools/create_project/msvc.cpp
@@ -32,7 +32,7 @@ namespace CreateProjectTool {
// MSVC Provider (Base class)
//////////////////////////////////////////////////////////////////////////
MSVCProvider::MSVCProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version, const MSVCVersion &msvc)
- : ProjectProvider(global_warnings, project_warnings, global_errors, version), _msvcVersion(msvc) {
+ : ProjectProvider(global_warnings, project_warnings, global_errors), _version(version), _msvcVersion(msvc) {
_enableLanguageExtensions = tokenize(ENABLE_LANGUAGE_EXTENSIONS, ',');
_disableEditAndContinue = tokenize(DISABLE_EDIT_AND_CONTINUE, ',');
diff --git a/devtools/create_project/msvc.h b/devtools/create_project/msvc.h
index 5266e28b32b..0de4b432fe1 100644
--- a/devtools/create_project/msvc.h
+++ b/devtools/create_project/msvc.h
@@ -31,6 +31,7 @@ public:
MSVCProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version, const MSVCVersion &msvcVersion);
protected:
+ const int _version;
const MSVCVersion _msvcVersion;
StringList _enableLanguageExtensions;
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index b5875379b7e..babed9dc5b3 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -297,8 +297,8 @@ void XcodeProvider::addBuildFile(const std::string &id, const std::string &name,
_buildFile._flags = kSettingsSingleItem;
}
-XcodeProvider::XcodeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version)
- : ProjectProvider(global_warnings, project_warnings, global_errors, version) {
+XcodeProvider::XcodeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors)
+ : ProjectProvider(global_warnings, project_warnings, global_errors) {
_rootSourceGroup = nullptr;
}
diff --git a/devtools/create_project/xcode.h b/devtools/create_project/xcode.h
index b4dfa6cd37f..ba87be74f73 100644
--- a/devtools/create_project/xcode.h
+++ b/devtools/create_project/xcode.h
@@ -31,7 +31,7 @@ namespace CreateProjectTool {
class XcodeProvider final : public ProjectProvider {
public:
- XcodeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors, const int version = 0);
+ XcodeProvider(StringList &global_warnings, std::map<std::string, StringList> &project_warnings, StringList &global_errors);
protected:
Commit: 3dc77757fa2cf9f2993e5f95c3a26effb7f554ea
https://github.com/scummvm/scummvm/commit/3dc77757fa2cf9f2993e5f95c3a26effb7f554ea
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
CREATE_PROJECT: Fix memory leaks and uninitialized variable
Changed paths:
devtools/create_project/xcode.h
diff --git a/devtools/create_project/xcode.h b/devtools/create_project/xcode.h
index ba87be74f73..0512952cc21 100644
--- a/devtools/create_project/xcode.h
+++ b/devtools/create_project/xcode.h
@@ -169,6 +169,7 @@ private:
addProperty("isa", objectType, "", kSettingsNoQuote | kSettingsNoValue);
}
+ virtual ~Object() {}
// Add a simple Property with just a name and a value
void addProperty(std::string propName, std::string propValue, std::string propComment = "", int propFlags = 0, int propIndent = 0) {
@@ -223,12 +224,20 @@ private:
public:
std::vector<Object *> _objects;
std::string _comment;
- int _flags;
+ int _flags = 0;
+
+ ~ObjectList() {
+ for (Object *obj : _objects) {
+ delete obj;
+ }
+ }
void add(Object *obj) {
std::map<std::string, bool>::iterator it = _objectMap.find(obj->_id);
- if (it != _objectMap.end() && it->second == true)
+ if (it != _objectMap.end() && it->second == true) {
+ delete obj;
return;
+ }
_objects.push_back(obj);
_objectMap[obj->_id] = true;
Commit: b8f5e9388093a794bfd970546f9c809998fad0b1
https://github.com/scummvm/scummvm/commit/b8f5e9388093a794bfd970546f9c809998fad0b1
Author: Le Philousophe (lephilousophe at users.noreply.github.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
CREATE_PROJECT: Split iOS and tvOS from macOS XCode projects
Changed paths:
.github/workflows/ci.yml
devtools/create_project/create_project.cpp
devtools/create_project/create_project.h
devtools/create_project/xcode.cpp
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index c3221364ccf..aa19879897e 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -159,7 +159,7 @@ jobs:
brewPackages: a52dec faad2 flac fluid-synth freetype fribidi giflib jpeg mad libmikmod libmpeg2 libogg libpng libvorbis libvpx sdl2 sdl2_net theora
- platform: ios7
buildFlags: -scheme ScummVM-iOS CODE_SIGN_IDENTITY="" CODE_SIGNING_ALLOWED=NO
- configFlags: --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --enable-a52 --disable-taskbar --disable-tts
+ configFlags: --ios --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --enable-a52 --disable-taskbar --disable-tts
packagesUrl: https://downloads.scummvm.org/frs/build/scummvm-ios7-libs-v4.zip
defaults:
run:
diff --git a/devtools/create_project/create_project.cpp b/devtools/create_project/create_project.cpp
index 6c038812032..15159cb7a00 100644
--- a/devtools/create_project/create_project.cpp
+++ b/devtools/create_project/create_project.cpp
@@ -188,6 +188,10 @@ int main(int argc, char *argv[]) {
}
projectType = kProjectXcode;
+ } else if (!std::strcmp(argv[i], "--ios")) {
+ setup.appleEmbedded = true;
+ } else if (!std::strcmp(argv[i], "--tvos")) {
+ setup.appleEmbedded = true;
#endif
} else if (!std::strcmp(argv[i], "--msvc-version")) {
@@ -447,14 +451,13 @@ int main(int argc, char *argv[]) {
if (projectType == kProjectXcode) {
setup.defines.push_back("POSIX");
- // Define both MACOSX, and IPHONE, but only one of them will be associated to the
- // correct target by the Xcode project provider.
- // This define will help catching up target-dependent files, like "browser_osx.mm"
- // The suffix ("_osx", or "_ios") will be used by the project provider to filter out
- // the files, according to the target.
- setup.defines.push_back("MACOSX");
- setup.defines.push_back("IPHONE");
- setup.defines.push_back("SCUMMVM_NEON");
+ if (setup.appleEmbedded) {
+ setup.defines.push_back("IPHONE");
+ setup.defines.push_back("IPHONE_IOS7");
+ setup.defines.push_back("SCUMMVM_NEON");
+ } else {
+ setup.defines.push_back("MACOSX");
+ }
} else if (projectType == kProjectMSVC || projectType == kProjectCodeBlocks) {
setup.defines.push_back("WIN32");
setup.win32 = true;
@@ -480,18 +483,20 @@ int main(int argc, char *argv[]) {
}
}
- setup.defines.push_back("SDL_BACKEND");
- if (setup.useSDL == kSDLVersion1) {
- cout << "\nBuilding against SDL 1.2\n\n";
- } else if (setup.useSDL == kSDLVersion2) {
- cout << "\nBuilding against SDL 2\n\n";
- setup.defines.push_back("USE_SDL2");
- } else if (setup.useSDL == kSDLVersion3) {
- cout << "\nBuilding against SDL 3\n\n";
- setup.defines.push_back("USE_SDL3");
- } else {
- std::cerr << "ERROR: Unsupported SDL version\n";
- return -1;
+ if (projectType != kProjectXcode || !setup.appleEmbedded) {
+ setup.defines.push_back("SDL_BACKEND");
+ if (setup.useSDL == kSDLVersion1) {
+ cout << "\nBuilding against SDL 1.2\n\n";
+ } else if (setup.useSDL == kSDLVersion2) {
+ cout << "\nBuilding against SDL 2\n\n";
+ setup.defines.push_back("USE_SDL2");
+ } else if (setup.useSDL == kSDLVersion3) {
+ cout << "\nBuilding against SDL 3\n\n";
+ setup.defines.push_back("USE_SDL3");
+ } else {
+ std::cerr << "ERROR: Unsupported SDL version\n";
+ return -1;
+ }
}
if (setup.useStaticDetection) {
@@ -824,6 +829,10 @@ void displayHelp(const char *exe) {
" --vcpkg Use vcpkg-provided libraries instead of pre-built libraries\n"
" (default: false)\n"
"\n"
+ "XCode specific settings:\n"
+ " --ios build for iOS or tvOS\n"
+ " --tvos build for iOS or tvOS\n"
+ "\n"
"Engines settings:\n"
" --list-engines list all available engines and their default state\n"
" --enable-engine=<name> enable building of the engine with the name \"name\"\n"
@@ -1287,6 +1296,18 @@ FeatureList getAllFeatures() {
* This means disabling conflicting features, enabling meta-features, ...
*/
static void fixupFeatures(ProjectType projectType, BuildSetup &setup) {
+#ifdef ENABLE_XCODE
+ // IMGUI and NASM are not available on Xcode
+ if (projectType == kProjectXcode) {
+ setFeatureBuildState("imgui", setup.features, false);
+ setFeatureBuildState("nasm", setup.features, false);
+ }
+ // OpenGL classic is not available on iOS/tvOS
+ if (projectType == kProjectXcode && setup.appleEmbedded) {
+ setFeatureBuildState("opengl_game_classic", setup.features, false);
+ }
+#endif
+
// Vorbis and Tremor can not be enabled simultaneously
if (getFeatureBuildState("tremor", setup.features)) {
setFeatureBuildState("vorbis", setup.features, false);
@@ -1321,18 +1342,13 @@ static void fixupFeatures(ProjectType projectType, BuildSetup &setup) {
}
// Check IMGUI dependencies
- if (!getFeatureBuildState("opengl", setup.features) ||
+ if (getFeatureBuildState("imgui", setup.features) && (
+ !getFeatureBuildState("opengl", setup.features) ||
!getFeatureBuildState("freetype2", setup.features) ||
- setup.useSDL == kSDLVersion1) {
+ setup.useSDL == kSDLVersion1)) {
std::cerr << "WARNING: imgui requires opengl, freetype2 and sdl2+\n";
setFeatureBuildState("imgui", setup.features, false);
}
- // IMGUI is not available on Xcode
-#ifdef ENABLE_XCODE
- if (projectType == kProjectXcode) {
- setFeatureBuildState("imgui", setup.features, false);
- }
-#endif
// Calculate 3D feature state
setFeatureBuildState("3d", setup.features,
@@ -1960,7 +1976,9 @@ void ProjectProvider::createProject(BuildSetup &setup) {
pchEx.clear();
// File list for the Project file
createModuleList(setup.srcDir + "/backends", setup.defines, setup.testDirs, in, ex, pchDirs, pchEx);
- createModuleList(setup.srcDir + "/backends/platform/sdl", setup.defines, setup.testDirs, in, ex, pchDirs, pchEx);
+ if (std::find(setup.defines.begin(), setup.defines.end(), "SDL_BACKEND") != setup.defines.end()) {
+ createModuleList(setup.srcDir + "/backends/platform/sdl", setup.defines, setup.testDirs, in, ex, pchDirs, pchEx);
+ }
createModuleList(setup.srcDir + "/base", setup.defines, setup.testDirs, in, ex, pchDirs, pchEx);
createModuleList(setup.srcDir + "/common", setup.defines, setup.testDirs, in, ex, pchDirs, pchEx);
createModuleList(setup.srcDir + "/common/compression", setup.defines, setup.testDirs, in, ex, pchDirs, pchEx);
diff --git a/devtools/create_project/create_project.h b/devtools/create_project/create_project.h
index d80b6a2364c..d135719c043 100644
--- a/devtools/create_project/create_project.h
+++ b/devtools/create_project/create_project.h
@@ -298,6 +298,7 @@ struct BuildSetup {
bool useStaticDetection = true; ///< Whether to link detection features inside the executable or not.
bool useWindowsUnicode = true; ///< Whether to use Windows Unicode APIs or ANSI APIs.
bool useWindowsSubsystem = false; ///< Whether to use Windows subsystem or Console subsystem (default: Console)
+ bool appleEmbedded = false; ///< Whether the build will target iOS or tvOS instead of macOS.
bool useXCFramework = false; ///< Whether to use Apple XCFrameworks instead of static libraries
bool useVcpkg = false; ///< Whether to load libraries from vcpkg or SCUMMVM_LIBS
bool win32 = false; ///< Target is Windows
diff --git a/devtools/create_project/xcode.cpp b/devtools/create_project/xcode.cpp
index babed9dc5b3..9116d09447e 100644
--- a/devtools/create_project/xcode.cpp
+++ b/devtools/create_project/xcode.cpp
@@ -40,9 +40,9 @@ namespace CreateProjectTool {
#define DEBUG_XCODE_HASH 0
-#define IOS_TARGET 0
-#define OSX_TARGET 1
-#define TVOS_TARGET 2
+#define IOS_TARGET PROJECT_DESCRIPTION "-iOS"
+#define TVOS_TARGET PROJECT_DESCRIPTION "-tvOS"
+#define OSX_TARGET PROJECT_DESCRIPTION "-macOS"
#define ADD_DEFINE(defines, name) \
defines.push_back(name);
@@ -122,10 +122,6 @@ bool shouldSkipFileForTarget(const std::string &fileID, const std::string &targe
splitFilename(fileName, name, ext);
if (targetIsIOS(targetName) || targetIsTVOS(targetName)) {
- // iOS & tvOS target: we skip all files with the "_osx" suffix
- if (name.length() > 4 && name.substr(name.length() - 4) == "_osx") {
- return true;
- }
if (targetIsIOS(targetName)) {
// skip tvos dist files
if (fileID.find("dists/tvos/") != std::string::npos)
@@ -135,48 +131,6 @@ bool shouldSkipFileForTarget(const std::string &fileID, const std::string &targe
if (fileID.find("dists/ios7/") != std::string::npos)
return true;
}
- // We don't need SDL for the iOS target
- static const std::string sdl_directory = "/sdl/";
- static const std::string surfacesdl_directory = "/surfacesdl/";
- static const std::string openglsdl_directory = "/openglsdl/";
- static const std::string doublebufferdl_directory = "/doublebuffersdl/";
- if (fileID.find(sdl_directory) != std::string::npos
- || fileID.find(surfacesdl_directory) != std::string::npos
- || fileID.find(openglsdl_directory) != std::string::npos
- || fileID.find(doublebufferdl_directory) != std::string::npos) {
- return true;
- }
- if (ext == "icns") {
- return true;
- }
- }
- else {
- // macOS target: we skip all files with the "_ios" suffix
- if (name.length() > 4 && name.substr(name.length() - 4) == "_ios") {
- return true;
- }
- // macOS target: we skip all files with the "_tvos" suffix
- if (name.length() > 5 && name.substr(name.length() - 5) == "_tvos") {
- return true;
- }
- // macOS target: we skip all files with the "ios7_" prefix
- if (name.length() > 5 && name.substr(0, 5) == "ios7_") {
- return true;
- }
- // macOS target: we skip all files with the "ios-" prefix
- if (name.length() > 4 && name.substr(0, 4) == "ios-") {
- return true;
- }
- // macOS target: we skip the xcprivacy file required for iOS and tvOS targets
- if (ext == "xcprivacy") {
- return true;
- }
- // parent directory
- const std::string directory = fileID.substr(0, fileID.length() - fileName.length());
- static const std::string iphone_directory = "backends/platform/ios7";
- if (directory.length() > iphone_directory.length() && directory.substr(directory.length() - iphone_directory.length()) == iphone_directory) {
- return true;
- }
}
return false;
}
@@ -303,10 +257,12 @@ XcodeProvider::XcodeProvider(StringList &global_warnings, std::map<std::string,
}
void XcodeProvider::addResourceFiles(const BuildSetup &setup, StringList &includeList, StringList &excludeList) {
- includeList.push_back(setup.srcDir + "/dists/ios7/Info.plist");
- includeList.push_back(setup.srcDir + "/dists/ios7/PrivacyInfo.xcprivacy");
- includeList.push_back(setup.srcDir + "/dists/tvos/Info.plist");
- includeList.push_back(setup.srcDir + "/dists/tvos/PrivacyInfo.xcprivacy");
+ if (setup.appleEmbedded) {
+ includeList.push_back(setup.srcDir + "/dists/ios7/Info.plist");
+ includeList.push_back(setup.srcDir + "/dists/ios7/PrivacyInfo.xcprivacy");
+ includeList.push_back(setup.srcDir + "/dists/tvos/Info.plist");
+ includeList.push_back(setup.srcDir + "/dists/tvos/PrivacyInfo.xcprivacy");
+ }
ValueList &resources = getResourceFiles(setup);
for (ValueList::iterator it = resources.begin(); it != resources.end(); ++it) {
@@ -316,7 +272,9 @@ void XcodeProvider::addResourceFiles(const BuildSetup &setup, StringList &includ
StringList pchDirs, pchEx;
StringList td;
- createModuleList(setup.srcDir + "/backends/platform/ios7", setup.defines, td, includeList, excludeList, pchDirs, pchEx);
+ if (setup.appleEmbedded) {
+ createModuleList(setup.srcDir + "/backends/platform/ios7", setup.defines, td, includeList, excludeList, pchDirs, pchEx);
+ }
}
void XcodeProvider::createWorkspace(const BuildSetup &setup) {
@@ -328,9 +286,12 @@ void XcodeProvider::createWorkspace(const BuildSetup &setup) {
// Setup global objects
setupDefines(setup);
- _targets.push_back(PROJECT_DESCRIPTION "-iOS");
- _targets.push_back(PROJECT_DESCRIPTION "-macOS");
- _targets.push_back(PROJECT_DESCRIPTION "-tvOS");
+ if (setup.appleEmbedded) {
+ _targets.push_back(IOS_TARGET);
+ _targets.push_back(TVOS_TARGET);
+ } else {
+ _targets.push_back(OSX_TARGET);
+ }
setupCopyFilesBuildPhase();
setupFrameworksBuildPhase(setup);
setupNativeTarget();
@@ -600,19 +561,19 @@ void XcodeProvider::setupFrameworksBuildPhase(const BuildSetup &setup) {
}
if (setup.useSDL == kSDLVersion3) {
- DEF_LOCALLIB_STATIC("libSDL3");
+ if (!setup.appleEmbedded) DEF_LOCALLIB_STATIC("libSDL3");
if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
DEF_LOCALLIB_STATIC("libSDL3_net");
DEF_LOCALXCFRAMEWORK("SDL3_net", projectOutputDirectory);
}
} else if (setup.useSDL == kSDLVersion2) {
- DEF_LOCALLIB_STATIC("libSDL2");
+ if (!setup.appleEmbedded) DEF_LOCALLIB_STATIC("libSDL2");
if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
DEF_LOCALLIB_STATIC("libSDL2_net");
DEF_LOCALXCFRAMEWORK("SDL2_net", projectOutputDirectory);
}
} else if (setup.useSDL == kSDLVersion1) {
- DEF_LOCALLIB_STATIC("libSDL");
+ if (!setup.appleEmbedded) DEF_LOCALLIB_STATIC("libSDL");
if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
DEF_LOCALLIB_STATIC("libSDL_net");
}
@@ -624,355 +585,360 @@ void XcodeProvider::setupFrameworksBuildPhase(const BuildSetup &setup) {
_rootSourceGroup->addChildGroup(frameworksGroup);
- // Declare this here, as it's used across all the targets
- int order = 0;
-
//////////////////////////////////////////////////////////////////////////
- // ScummVM-iOS
- Object *framework_iPhone = new Object(this, "PBXFrameworksBuildPhase_" + _targets[IOS_TARGET], "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
-
- framework_iPhone->addProperty("buildActionMask", "2147483647", "", kSettingsNoValue);
- framework_iPhone->addProperty("runOnlyForDeploymentPostprocessing", "0", "", kSettingsNoValue);
-
- // List of frameworks
- Property iOS_files;
- iOS_files._hasOrder = true;
- iOS_files._flags = kSettingsAsList;
-
- ValueList frameworks_iOS;
- frameworks_iOS.push_back("CoreAudio.framework");
- frameworks_iOS.push_back("CoreGraphics.framework");
- frameworks_iOS.push_back("CoreFoundation.framework");
- frameworks_iOS.push_back("Foundation.framework");
- frameworks_iOS.push_back("GameController.framework");
- frameworks_iOS.push_back("UIKit.framework");
- frameworks_iOS.push_back("SystemConfiguration.framework");
- frameworks_iOS.push_back("AudioToolbox.framework");
- frameworks_iOS.push_back("QuartzCore.framework");
- frameworks_iOS.push_back("OpenGLES.framework");
+ // ScummVM-macOS
+ if (!setup.appleEmbedded) {
+ Object *framework_OSX = new Object(this, "PBXFrameworksBuildPhase_" OSX_TARGET, "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
+
+ framework_OSX->addProperty("buildActionMask", "2147483647", "", kSettingsNoValue);
+ framework_OSX->addProperty("runOnlyForDeploymentPostprocessing", "0", "", kSettingsNoValue);
+
+ // List of frameworks
+ Property osx_files;
+ osx_files._hasOrder = true;
+ osx_files._flags = kSettingsAsList;
+
+ 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("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("OpenGL.framework");
+ frameworks_osx.push_back("AudioUnit.framework");
+
+ if (CONTAINS_DEFINE(setup.defines, "USE_FAAD")) {
+ frameworks_osx.push_back(getLibString("faad", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FLAC")) {
+ frameworks_osx.push_back(getLibString("FLAC", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FLUIDSYNTH") &&
+ !CONTAINS_DEFINE(setup.defines, "USE_FLUIDLITE")) {
+ frameworks_osx.push_back(getLibString("fluidsynth", setup.useXCFramework));
+ frameworks_osx.push_back(getLibString("glib-2.0", setup.useXCFramework));
+ frameworks_osx.push_back("libffi.tbd");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FREETYPE2")) {
+ frameworks_osx.push_back(getLibString("freetype", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_JPEG")) {
+ frameworks_osx.push_back(getLibString("jpeg", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_LIBCURL")) {
+ frameworks_osx.push_back(getLibString("curl", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MAD")) {
+ frameworks_osx.push_back(getLibString("mad", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MIKMOD")) {
+ frameworks_osx.push_back("libmikmod.a");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_OPENMPT")) {
+ frameworks_osx.push_back("libopenmpt.a");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MPEG2")) {
+ frameworks_osx.push_back(getLibString("mpeg2", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FRIBIDI")) {
+ frameworks_osx.push_back(getLibString("fribidi", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_PNG")) {
+ frameworks_osx.push_back(getLibString("png", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_GIF")) {
+ frameworks_osx.push_back(getLibString("gif", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_OGG")) {
+ frameworks_osx.push_back(getLibString("ogg", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_VORBIS")) {
+ frameworks_osx.push_back(getLibString("vorbis", setup.useXCFramework));
+ frameworks_osx.push_back(getLibString("vorbisfile", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_TREMOR")) {
+ frameworks_osx.push_back(getLibString("vorbisidec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_THEORADEC")) {
+ frameworks_osx.push_back(getLibString("theoradec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_RETROWAVE")) {
+ frameworks_osx.push_back(getLibString("retrowave", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_VPX")) {
+ frameworks_osx.push_back(getLibString("vpx", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_ZLIB")) {
+ frameworks_osx.push_back("libz.tbd");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_DISCORD")) {
+ frameworks_osx.push_back(getLibString("discord-rpc", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_A52")) {
+ frameworks_osx.push_back(getLibString("a52", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MPCDEC")) {
+ frameworks_osx.push_back(getLibString("mpcdec", setup.useXCFramework));
+ }
- if (CONTAINS_DEFINE(setup.defines, "USE_FAAD")) {
- frameworks_iOS.push_back(getLibString("faad", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FLAC")) {
- frameworks_iOS.push_back(getLibString("FLAC", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FREETYPE2")) {
- frameworks_iOS.push_back(getLibString("freetype", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_JPEG")) {
- frameworks_iOS.push_back(getLibString("jpeg", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_PNG")) {
- frameworks_iOS.push_back(getLibString("png", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_GIF")) {
- frameworks_iOS.push_back(getLibString("gif", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_OGG")) {
- frameworks_iOS.push_back(getLibString("ogg", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_VORBIS")) {
- frameworks_iOS.push_back(getLibString("vorbis", setup.useXCFramework));
- frameworks_iOS.push_back(getLibString("vorbisfile", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_TREMOR")) {
- frameworks_iOS.push_back(getLibString("vorbisidec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_THEORADEC")) {
- frameworks_iOS.push_back(getLibString("theoradec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_VPX")) {
- frameworks_iOS.push_back(getLibString("vpx", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MAD")) {
- frameworks_iOS.push_back(getLibString("mad", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MIKMOD")) {
- frameworks_iOS.push_back(getLibString("mikmod", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_OPENMPT")) {
- frameworks_iOS.push_back(getLibString("openmpt", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MPEG2")) {
- frameworks_iOS.push_back(getLibString("mpeg2", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FRIBIDI")) {
- frameworks_iOS.push_back(getLibString("fribidi", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_A52")) {
- frameworks_iOS.push_back(getLibString("a52", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MPCDEC")) {
- frameworks_iOS.push_back(getLibString("mpcdec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FLUIDSYNTH") &&
- !CONTAINS_DEFINE(setup.defines, "USE_FLUIDLITE")) {
- frameworks_iOS.push_back(getLibString("fluidsynth", setup.useXCFramework));
- frameworks_iOS.push_back(getLibString("ffi", setup.useXCFramework));
- frameworks_iOS.push_back(getLibString("glib-2.0", setup.useXCFramework));
- if (setup.useXCFramework) {
- // The libintl and libbz2 libs are not combined into glib-2.0 in the xcframework libs
- frameworks_iOS.push_back(getLibString("intl", setup.useXCFramework));
- frameworks_iOS.push_back(getLibString("bz2", setup.useXCFramework));
- }
- frameworks_iOS.push_back("CoreMIDI.framework");
- frameworks_iOS.push_back("libiconv.tbd");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_ZLIB")) {
- frameworks_iOS.push_back("libz.tbd");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_LIBCURL")) {
- frameworks_iOS.push_back(getLibString("curl", setup.useXCFramework));
- frameworks_iOS.push_back("Security.framework");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
- frameworks_iOS.push_back(getLibString(libSDL + "_net", setup.useXCFramework));
- }
+ frameworks_osx.push_back(getLibString(libSDL, setup.useXCFramework));
+ if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
+ frameworks_osx.push_back(getLibString(libSDL + "_net", setup.useXCFramework));
- for (ValueList::iterator framework = frameworks_iOS.begin(); framework != frameworks_iOS.end(); framework++) {
- std::string id = "Frameworks_" + *framework + "_iphone";
- std::string comment = *framework + " in Frameworks";
+ int 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(iOS_files, getHash(id), comment, order++);
- ADD_BUILD_FILE(id, *framework, getHash(*framework), comment);
- ADD_FILE_REFERENCE(*framework, *framework, properties[*framework]);
- }
+ ADD_SETTING_ORDER_NOVALUE(osx_files, getHash(id), comment, order++);
+ ADD_BUILD_FILE(id, *framework, getHash(*framework), comment);
+ ADD_FILE_REFERENCE(*framework, *framework, properties[*framework]);
+ }
- framework_iPhone->_properties["files"] = iOS_files;
+ framework_OSX->_properties["files"] = osx_files;
- _frameworksBuildPhase.add(framework_iPhone);
+ _frameworksBuildPhase.add(framework_OSX);
+ }
//////////////////////////////////////////////////////////////////////////
- // ScummVM-macOS
- Object *framework_OSX = new Object(this, "PBXFrameworksBuildPhase_" + _targets[OSX_TARGET], "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
-
- framework_OSX->addProperty("buildActionMask", "2147483647", "", kSettingsNoValue);
- framework_OSX->addProperty("runOnlyForDeploymentPostprocessing", "0", "", kSettingsNoValue);
-
- // List of frameworks
- Property osx_files;
- osx_files._hasOrder = true;
- osx_files._flags = kSettingsAsList;
-
- 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("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("OpenGL.framework");
- frameworks_osx.push_back("AudioUnit.framework");
+ // ScummVM-iOS
+ if (setup.appleEmbedded) {
+ Object *framework_iPhone = new Object(this, "PBXFrameworksBuildPhase_" IOS_TARGET, "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
+
+ framework_iPhone->addProperty("buildActionMask", "2147483647", "", kSettingsNoValue);
+ framework_iPhone->addProperty("runOnlyForDeploymentPostprocessing", "0", "", kSettingsNoValue);
+
+ // List of frameworks
+ Property iOS_files;
+ iOS_files._hasOrder = true;
+ iOS_files._flags = kSettingsAsList;
+
+ ValueList frameworks_iOS;
+ frameworks_iOS.push_back("CoreAudio.framework");
+ frameworks_iOS.push_back("CoreGraphics.framework");
+ frameworks_iOS.push_back("CoreFoundation.framework");
+ frameworks_iOS.push_back("Foundation.framework");
+ frameworks_iOS.push_back("GameController.framework");
+ frameworks_iOS.push_back("UIKit.framework");
+ frameworks_iOS.push_back("SystemConfiguration.framework");
+ frameworks_iOS.push_back("AudioToolbox.framework");
+ frameworks_iOS.push_back("QuartzCore.framework");
+ frameworks_iOS.push_back("OpenGLES.framework");
+
+ if (CONTAINS_DEFINE(setup.defines, "USE_FAAD")) {
+ frameworks_iOS.push_back(getLibString("faad", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FLAC")) {
+ frameworks_iOS.push_back(getLibString("FLAC", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FREETYPE2")) {
+ frameworks_iOS.push_back(getLibString("freetype", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_JPEG")) {
+ frameworks_iOS.push_back(getLibString("jpeg", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_PNG")) {
+ frameworks_iOS.push_back(getLibString("png", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_GIF")) {
+ frameworks_iOS.push_back(getLibString("gif", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_OGG")) {
+ frameworks_iOS.push_back(getLibString("ogg", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_VORBIS")) {
+ frameworks_iOS.push_back(getLibString("vorbis", setup.useXCFramework));
+ frameworks_iOS.push_back(getLibString("vorbisfile", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_TREMOR")) {
+ frameworks_iOS.push_back(getLibString("vorbisidec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_THEORADEC")) {
+ frameworks_iOS.push_back(getLibString("theoradec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_VPX")) {
+ frameworks_iOS.push_back(getLibString("vpx", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MAD")) {
+ frameworks_iOS.push_back(getLibString("mad", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MIKMOD")) {
+ frameworks_iOS.push_back(getLibString("mikmod", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_OPENMPT")) {
+ frameworks_iOS.push_back(getLibString("openmpt", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MPEG2")) {
+ frameworks_iOS.push_back(getLibString("mpeg2", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FRIBIDI")) {
+ frameworks_iOS.push_back(getLibString("fribidi", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_A52")) {
+ frameworks_iOS.push_back(getLibString("a52", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MPCDEC")) {
+ frameworks_iOS.push_back(getLibString("mpcdec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FLUIDSYNTH") &&
+ !CONTAINS_DEFINE(setup.defines, "USE_FLUIDLITE")) {
+ frameworks_iOS.push_back(getLibString("fluidsynth", setup.useXCFramework));
+ frameworks_iOS.push_back(getLibString("ffi", setup.useXCFramework));
+ frameworks_iOS.push_back(getLibString("glib-2.0", setup.useXCFramework));
+ if (setup.useXCFramework) {
+ // The libintl and libbz2 libs are not combined into glib-2.0 in the xcframework libs
+ frameworks_iOS.push_back(getLibString("intl", setup.useXCFramework));
+ frameworks_iOS.push_back(getLibString("bz2", setup.useXCFramework));
+ }
+ frameworks_iOS.push_back("CoreMIDI.framework");
+ frameworks_iOS.push_back("libiconv.tbd");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_ZLIB")) {
+ frameworks_iOS.push_back("libz.tbd");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_LIBCURL")) {
+ frameworks_iOS.push_back(getLibString("curl", setup.useXCFramework));
+ frameworks_iOS.push_back("Security.framework");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
+ frameworks_iOS.push_back(getLibString(libSDL + "_net", setup.useXCFramework));
+ }
- if (CONTAINS_DEFINE(setup.defines, "USE_FAAD")) {
- frameworks_osx.push_back(getLibString("faad", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FLAC")) {
- frameworks_osx.push_back(getLibString("FLAC", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FLUIDSYNTH") &&
- !CONTAINS_DEFINE(setup.defines, "USE_FLUIDLITE")) {
- frameworks_osx.push_back(getLibString("fluidsynth", setup.useXCFramework));
- frameworks_osx.push_back(getLibString("glib-2.0", setup.useXCFramework));
- frameworks_osx.push_back("libffi.tbd");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FREETYPE2")) {
- frameworks_osx.push_back(getLibString("freetype", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_JPEG")) {
- frameworks_osx.push_back(getLibString("jpeg", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_LIBCURL")) {
- frameworks_osx.push_back(getLibString("curl", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MAD")) {
- frameworks_osx.push_back(getLibString("mad", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MIKMOD")) {
- frameworks_osx.push_back("libmikmod.a");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_OPENMPT")) {
- frameworks_osx.push_back("libopenmpt.a");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MPEG2")) {
- frameworks_osx.push_back(getLibString("mpeg2", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FRIBIDI")) {
- frameworks_osx.push_back(getLibString("fribidi", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_PNG")) {
- frameworks_osx.push_back(getLibString("png", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_GIF")) {
- frameworks_osx.push_back(getLibString("gif", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_OGG")) {
- frameworks_osx.push_back(getLibString("ogg", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_VORBIS")) {
- frameworks_osx.push_back(getLibString("vorbis", setup.useXCFramework));
- frameworks_osx.push_back(getLibString("vorbisfile", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_TREMOR")) {
- frameworks_osx.push_back(getLibString("vorbisidec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_THEORADEC")) {
- frameworks_osx.push_back(getLibString("theoradec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_RETROWAVE")) {
- frameworks_osx.push_back(getLibString("retrowave", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_VPX")) {
- frameworks_osx.push_back(getLibString("vpx", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_ZLIB")) {
- frameworks_osx.push_back("libz.tbd");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_DISCORD")) {
- frameworks_osx.push_back(getLibString("discord-rpc", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_A52")) {
- frameworks_osx.push_back(getLibString("a52", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MPCDEC")) {
- frameworks_osx.push_back(getLibString("mpcdec", setup.useXCFramework));
- }
+ int order = 0;
+ for (ValueList::iterator framework = frameworks_iOS.begin(); framework != frameworks_iOS.end(); framework++) {
+ std::string id = "Frameworks_" + *framework + "_iphone";
+ std::string comment = *framework + " in Frameworks";
- frameworks_osx.push_back(getLibString(libSDL, setup.useXCFramework));
- if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
- frameworks_osx.push_back(getLibString(libSDL + "_net", setup.useXCFramework));
+ ADD_SETTING_ORDER_NOVALUE(iOS_files, getHash(id), comment, order++);
+ ADD_BUILD_FILE(id, *framework, getHash(*framework), comment);
+ ADD_FILE_REFERENCE(*framework, *framework, properties[*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";
+ framework_iPhone->_properties["files"] = iOS_files;
- ADD_SETTING_ORDER_NOVALUE(osx_files, getHash(id), comment, order++);
- ADD_BUILD_FILE(id, *framework, getHash(*framework), comment);
- ADD_FILE_REFERENCE(*framework, *framework, properties[*framework]);
+ _frameworksBuildPhase.add(framework_iPhone);
}
- framework_OSX->_properties["files"] = osx_files;
-
- _frameworksBuildPhase.add(framework_OSX);
-
//////////////////////////////////////////////////////////////////////////
// ScummVM-tvOS
- Object *framework_tvOS = new Object(this, "PBXFrameworksBuildPhase_" + _targets[TVOS_TARGET], "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
-
- framework_tvOS->addProperty("buildActionMask", "2147483647", "", kSettingsNoValue);
- framework_tvOS->addProperty("runOnlyForDeploymentPostprocessing", "0", "", kSettingsNoValue);
-
- // List of frameworks
- Property tvOS_files;
- tvOS_files._hasOrder = true;
- tvOS_files._flags = kSettingsAsList;
-
- ValueList frameworks_tvOS;
- frameworks_tvOS.push_back("CoreAudio.framework");
- frameworks_tvOS.push_back("CoreGraphics.framework");
- frameworks_tvOS.push_back("CoreFoundation.framework");
- frameworks_tvOS.push_back("Foundation.framework");
- frameworks_tvOS.push_back("GameController.framework");
- frameworks_tvOS.push_back("UIKit.framework");
- frameworks_tvOS.push_back("SystemConfiguration.framework");
- frameworks_tvOS.push_back("AudioToolbox.framework");
- frameworks_tvOS.push_back("QuartzCore.framework");
- frameworks_tvOS.push_back("OpenGLES.framework");
-
- if (CONTAINS_DEFINE(setup.defines, "USE_FAAD")) {
- frameworks_tvOS.push_back(getLibString("faad", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FLAC")) {
- frameworks_tvOS.push_back(getLibString("FLAC", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FREETYPE2")) {
- frameworks_tvOS.push_back(getLibString("freetype", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_JPEG")) {
- frameworks_tvOS.push_back(getLibString("jpeg", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_PNG")) {
- frameworks_tvOS.push_back(getLibString("png", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_GIF")) {
- frameworks_tvOS.push_back(getLibString("gif", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_OGG")) {
- frameworks_tvOS.push_back(getLibString("ogg", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_VORBIS")) {
- frameworks_tvOS.push_back(getLibString("vorbis", setup.useXCFramework));
- frameworks_tvOS.push_back(getLibString("vorbisfile", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_TREMOR")) {
- frameworks_tvOS.push_back(getLibString("vorbisidec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_THEORADEC")) {
- frameworks_tvOS.push_back(getLibString("theoradec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_VPX")) {
- frameworks_tvOS.push_back(getLibString("vpx", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MAD")) {
- frameworks_tvOS.push_back(getLibString("mad", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MIKMOD")) {
- frameworks_tvOS.push_back(getLibString("mikmod", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_OPENMPT")) {
- frameworks_tvOS.push_back(getLibString("openmpt", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MPEG2")) {
- frameworks_tvOS.push_back(getLibString("mpeg2", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FRIBIDI")) {
- frameworks_tvOS.push_back(getLibString("fribidi", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_A52")) {
- frameworks_tvOS.push_back(getLibString("a52", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_MPCDEC")) {
- frameworks_tvOS.push_back(getLibString("mpcdec", setup.useXCFramework));
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_FLUIDSYNTH") &&
- !CONTAINS_DEFINE(setup.defines, "USE_FLUIDLITE")) {
- frameworks_tvOS.push_back(getLibString("fluidsynth", setup.useXCFramework));
- frameworks_tvOS.push_back(getLibString("ffi", setup.useXCFramework));
- frameworks_tvOS.push_back(getLibString("glib-2.0", setup.useXCFramework));
- frameworks_tvOS.push_back(getLibString("intl", setup.useXCFramework));
- frameworks_tvOS.push_back(getLibString("bz2", setup.useXCFramework));
- frameworks_tvOS.push_back("CoreMIDI.framework");
- frameworks_tvOS.push_back("libiconv.tbd");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_ZLIB")) {
- frameworks_tvOS.push_back("libz.tbd");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_LIBCURL")) {
- frameworks_tvOS.push_back(getLibString("curl", setup.useXCFramework));
- frameworks_tvOS.push_back("Security.framework");
- }
- if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
- frameworks_tvOS.push_back(getLibString(libSDL + "_net", setup.useXCFramework));
- }
+ if (setup.appleEmbedded) {
+ Object *framework_tvOS = new Object(this, "PBXFrameworksBuildPhase_" TVOS_TARGET, "PBXFrameworksBuildPhase", "PBXFrameworksBuildPhase", "", "Frameworks");
+
+ framework_tvOS->addProperty("buildActionMask", "2147483647", "", kSettingsNoValue);
+ framework_tvOS->addProperty("runOnlyForDeploymentPostprocessing", "0", "", kSettingsNoValue);
+
+ // List of frameworks
+ Property tvOS_files;
+ tvOS_files._hasOrder = true;
+ tvOS_files._flags = kSettingsAsList;
+
+ ValueList frameworks_tvOS;
+ frameworks_tvOS.push_back("CoreAudio.framework");
+ frameworks_tvOS.push_back("CoreGraphics.framework");
+ frameworks_tvOS.push_back("CoreFoundation.framework");
+ frameworks_tvOS.push_back("Foundation.framework");
+ frameworks_tvOS.push_back("GameController.framework");
+ frameworks_tvOS.push_back("UIKit.framework");
+ frameworks_tvOS.push_back("SystemConfiguration.framework");
+ frameworks_tvOS.push_back("AudioToolbox.framework");
+ frameworks_tvOS.push_back("QuartzCore.framework");
+ frameworks_tvOS.push_back("OpenGLES.framework");
+
+ if (CONTAINS_DEFINE(setup.defines, "USE_FAAD")) {
+ frameworks_tvOS.push_back(getLibString("faad", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FLAC")) {
+ frameworks_tvOS.push_back(getLibString("FLAC", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FREETYPE2")) {
+ frameworks_tvOS.push_back(getLibString("freetype", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_JPEG")) {
+ frameworks_tvOS.push_back(getLibString("jpeg", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_PNG")) {
+ frameworks_tvOS.push_back(getLibString("png", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_GIF")) {
+ frameworks_tvOS.push_back(getLibString("gif", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_OGG")) {
+ frameworks_tvOS.push_back(getLibString("ogg", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_VORBIS")) {
+ frameworks_tvOS.push_back(getLibString("vorbis", setup.useXCFramework));
+ frameworks_tvOS.push_back(getLibString("vorbisfile", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_TREMOR")) {
+ frameworks_tvOS.push_back(getLibString("vorbisidec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_THEORADEC")) {
+ frameworks_tvOS.push_back(getLibString("theoradec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_VPX")) {
+ frameworks_tvOS.push_back(getLibString("vpx", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MAD")) {
+ frameworks_tvOS.push_back(getLibString("mad", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MIKMOD")) {
+ frameworks_tvOS.push_back(getLibString("mikmod", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_OPENMPT")) {
+ frameworks_tvOS.push_back(getLibString("openmpt", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MPEG2")) {
+ frameworks_tvOS.push_back(getLibString("mpeg2", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FRIBIDI")) {
+ frameworks_tvOS.push_back(getLibString("fribidi", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_A52")) {
+ frameworks_tvOS.push_back(getLibString("a52", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_MPCDEC")) {
+ frameworks_tvOS.push_back(getLibString("mpcdec", setup.useXCFramework));
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_FLUIDSYNTH") &&
+ !CONTAINS_DEFINE(setup.defines, "USE_FLUIDLITE")) {
+ frameworks_tvOS.push_back(getLibString("fluidsynth", setup.useXCFramework));
+ frameworks_tvOS.push_back(getLibString("ffi", setup.useXCFramework));
+ frameworks_tvOS.push_back(getLibString("glib-2.0", setup.useXCFramework));
+ frameworks_tvOS.push_back(getLibString("intl", setup.useXCFramework));
+ frameworks_tvOS.push_back(getLibString("bz2", setup.useXCFramework));
+ frameworks_tvOS.push_back("CoreMIDI.framework");
+ frameworks_tvOS.push_back("libiconv.tbd");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_ZLIB")) {
+ frameworks_tvOS.push_back("libz.tbd");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_LIBCURL")) {
+ frameworks_tvOS.push_back(getLibString("curl", setup.useXCFramework));
+ frameworks_tvOS.push_back("Security.framework");
+ }
+ if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
+ frameworks_tvOS.push_back(getLibString(libSDL + "_net", setup.useXCFramework));
+ }
- for (ValueList::iterator framework = frameworks_tvOS.begin(); framework != frameworks_tvOS.end(); framework++) {
- std::string id = "Frameworks_" + *framework + "_appletv";
- std::string comment = *framework + " in Frameworks";
+ int order = 0;
+ for (ValueList::iterator framework = frameworks_tvOS.begin(); framework != frameworks_tvOS.end(); framework++) {
+ std::string id = "Frameworks_" + *framework + "_appletv";
+ std::string comment = *framework + " in Frameworks";
- ADD_SETTING_ORDER_NOVALUE(tvOS_files, getHash(id), comment, order++);
- ADD_BUILD_FILE(id, *framework, getHash(*framework), comment);
- ADD_FILE_REFERENCE(*framework, *framework, properties[*framework]);
- }
+ ADD_SETTING_ORDER_NOVALUE(tvOS_files, getHash(id), comment, order++);
+ ADD_BUILD_FILE(id, *framework, getHash(*framework), comment);
+ ADD_FILE_REFERENCE(*framework, *framework, properties[*framework]);
+ }
- framework_tvOS->_properties["files"] = tvOS_files;
+ framework_tvOS->_properties["files"] = tvOS_files;
- _frameworksBuildPhase.add(framework_tvOS);
+ _frameworksBuildPhase.add(framework_tvOS);
+ }
}
void XcodeProvider::setupNativeTarget() {
@@ -1039,9 +1005,9 @@ void XcodeProvider::setupProject() {
// List of targets
Property targets;
targets._flags = kSettingsAsList;
- targets._settings[getHash("PBXNativeTarget_" + _targets[IOS_TARGET])] = Setting("", _targets[IOS_TARGET], kSettingsNoValue, 0, 0);
- targets._settings[getHash("PBXNativeTarget_" + _targets[OSX_TARGET])] = Setting("", _targets[OSX_TARGET], kSettingsNoValue, 0, 1);
- targets._settings[getHash("PBXNativeTarget_" + _targets[TVOS_TARGET])] = Setting("", _targets[TVOS_TARGET], kSettingsNoValue, 0, 2);
+ for (unsigned int i = 0; i < _targets.size(); i++) {
+ targets._settings[getHash("PBXNativeTarget_" + _targets[i])] = Setting("", _targets[i], kSettingsNoValue, 0, i);
+ }
project->_properties["targets"] = targets;
// Force list even when there is only a single target
@@ -1060,11 +1026,13 @@ XcodeProvider::ValueList& XcodeProvider::getResourceFiles(const BuildSetup &setu
files.push_back("gui/themes/gui-icons.dat");
files.push_back("gui/themes/shaders.dat");
files.push_back("gui/themes/translations.dat");
- files.push_back("dists/ios7/ios-help.zip");
- files.push_back("dists/ios7/LaunchScreen_ios.storyboard");
- files.push_back("dists/ios7/PrivacyInfo.xcprivacy");
- files.push_back("dists/tvos/LaunchScreen_tvos.storyboard");
- files.push_back("dists/tvos/PrivacyInfo.xcprivacy");
+ if (setup.appleEmbedded) {
+ files.push_back("dists/ios7/ios-help.zip");
+ files.push_back("dists/ios7/LaunchScreen_ios.storyboard");
+ files.push_back("dists/ios7/PrivacyInfo.xcprivacy");
+ files.push_back("dists/tvos/LaunchScreen_tvos.storyboard");
+ files.push_back("dists/tvos/PrivacyInfo.xcprivacy");
+ }
files.push_back("dists/networking/wwwroot.zip");
if (CONTAINS_DEFINE(setup.defines, "ENABLE_GRIM")) {
files.push_back("engines/grim/shaders/grim_dim.fragment");
@@ -1338,6 +1306,10 @@ void XcodeProvider::setupBuildConfiguration(const BuildSetup &setup) {
scummvm_WarningCFlags.push_back("-Werror=return-type");
ADD_SETTING_LIST(scummvm_Debug, "WARNING_CFLAGS", scummvm_WarningCFlags, kSettingsQuoteVariable | kSettingsAsList, 5);
ValueList scummvm_defines(_defines);
+ // Add back USE_OPENGL_GAME for MacOS build if it was enabled
+ if (CONTAINS_DEFINE(setup.defines, "USE_OPENGL_GAME")) {
+ ADD_DEFINE(scummvm_defines, "USE_OPENGL_GAME");
+ }
ADD_SETTING_LIST(scummvm_Debug, "GCC_PREPROCESSOR_DEFINITIONS", scummvm_defines, kSettingsNoQuote | kSettingsAsList, 5);
ADD_SETTING(scummvm_Debug, "GCC_WARN_ABOUT_RETURN_TYPE", "YES");
ADD_SETTING(scummvm_Debug, "GCC_WARN_UNUSED_VARIABLE", "YES");
@@ -1375,251 +1347,250 @@ void XcodeProvider::setupBuildConfiguration(const BuildSetup &setup) {
_buildConfiguration.add(scummvm_Debug_Object);
_buildConfiguration.add(scummvm_Release_Object);
- ///****************************************
- // * ScummVM - iOS Target
- // ****************************************/
-
- // Debug
- Object *iPhone_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-iPhone_Debug", _targets[IOS_TARGET] /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
- Property iPhone_Debug;
- ADD_SETTING_QUOTE(iPhone_Debug, "CODE_SIGN_IDENTITY", "iPhone Developer");
- ADD_SETTING_QUOTE_VAR(iPhone_Debug, "CODE_SIGN_IDENTITY[sdk=iphoneos*]", "iPhone Developer");
- ADD_SETTING(iPhone_Debug, "COPY_PHASE_STRIP", "NO");
- ADD_SETTING_QUOTE(iPhone_Debug, "DEBUG_INFORMATION_FORMAT", "dwarf");
- ADD_SETTING(iPhone_Debug, "ENABLE_BITCODE", "NO");
- ValueList iPhone_FrameworkSearchPaths;
- iPhone_FrameworkSearchPaths.push_back("$(inherited)");
- iPhone_FrameworkSearchPaths.push_back("\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"");
- ADD_SETTING_LIST(iPhone_Debug, "FRAMEWORK_SEARCH_PATHS", iPhone_FrameworkSearchPaths, kSettingsAsList, 5);
- ADD_SETTING(iPhone_Debug, "GCC_DYNAMIC_NO_PIC", "NO");
- ADD_SETTING(iPhone_Debug, "GCC_ENABLE_CPP_EXCEPTIONS", "NO");
- ADD_SETTING(iPhone_Debug, "GCC_OPTIMIZATION_LEVEL", "0");
- ADD_SETTING(iPhone_Debug, "GCC_PRECOMPILE_PREFIX_HEADER", "NO");
- ADD_SETTING_QUOTE(iPhone_Debug, "GCC_PREFIX_HEADER", "");
- ADD_SETTING(iPhone_Debug, "GCC_UNROLL_LOOPS", "YES");
- ValueList iPhone_HeaderSearchPaths;
- iPhone_HeaderSearchPaths.push_back("$(SRCROOT)/engines/");
- iPhone_HeaderSearchPaths.push_back("$(SRCROOT)");
- for (StringList::const_iterator i = setup.includeDirs.begin(); i != setup.includeDirs.end(); ++i)
- iPhone_HeaderSearchPaths.push_back("\"" + *i + "\"");
- iPhone_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "\"");
- if (!setup.useXCFramework) {
- iPhone_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include\"");
- if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
- iPhone_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include/" + libSDL + "\"");
- }
- }
- ADD_SETTING_LIST(iPhone_Debug, "HEADER_SEARCH_PATHS", iPhone_HeaderSearchPaths, kSettingsAsList | kSettingsQuoteVariable, 5);
- ADD_SETTING_QUOTE(iPhone_Debug, "INFOPLIST_FILE", "$(SRCROOT)/dists/ios7/Info.plist");
- ValueList iPhone_LibPaths;
- for (StringList::const_iterator i = setup.libraryDirs.begin(); i != setup.libraryDirs.end(); ++i)
- iPhone_LibPaths.push_back("\"" + *i + "\"");
- iPhone_LibPaths.push_back("$(inherited)");
- if (!setup.useXCFramework)
- iPhone_LibPaths.push_back("\"" + projectOutputDirectory + "/lib\"");
- ADD_SETTING_LIST(iPhone_Debug, "LIBRARY_SEARCH_PATHS", iPhone_LibPaths, kSettingsAsList, 5);
- ADD_SETTING(iPhone_Debug, "ONLY_ACTIVE_ARCH", "YES");
- ADD_SETTING(iPhone_Debug, "PRODUCT_NAME", PROJECT_NAME);
- ADD_SETTING(iPhone_Debug, "PRODUCT_BUNDLE_IDENTIFIER", "\"org.scummvm.${PRODUCT_NAME}\"");
- ADD_SETTING(iPhone_Debug, "IPHONEOS_DEPLOYMENT_TARGET", "9.0");
- ADD_SETTING_QUOTE_VAR(iPhone_Debug, "PROVISIONING_PROFILE[sdk=iphoneos*]", "");
- ADD_SETTING(iPhone_Debug, "SDKROOT", "iphoneos");
- ADD_SETTING_QUOTE(iPhone_Debug, "TARGETED_DEVICE_FAMILY", "1,2");
- ValueList scummvmIOSsimulator_defines;
- ADD_DEFINE(scummvmIOSsimulator_defines, "\"$(inherited)\"");
- ADD_DEFINE(scummvmIOSsimulator_defines, "IPHONE");
- ADD_DEFINE(scummvmIOSsimulator_defines, "IPHONE_IOS7");
- if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
- ADD_DEFINE(scummvmIOSsimulator_defines, "WITHOUT_SDL");
- ADD_SETTING_LIST(iPhone_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]\"", scummvmIOSsimulator_defines, kSettingsNoQuote | kSettingsAsList, 5);
- // Separate iphoneos and iphonesimulator definitions since simulator running on x86_64
- // hosts doesn't support NEON
- ValueList scummvmIOS_defines = scummvmIOSsimulator_defines;
- ADD_DEFINE(scummvmIOS_defines, "SCUMMVM_NEON");
- ADD_SETTING_LIST(iPhone_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*]\"", scummvmIOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
- ADD_SETTING(iPhone_Debug, "ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
- ADD_SETTING(iPhone_Debug, "ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
-
- iPhone_Debug_Object->addProperty("name", "Debug", "", kSettingsNoValue);
- iPhone_Debug_Object->_properties["buildSettings"] = iPhone_Debug;
-
- // Release
- Object *iPhone_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-iPhone_Release", _targets[IOS_TARGET] /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
- Property iPhone_Release(iPhone_Debug);
- ADD_SETTING(iPhone_Release, "GCC_OPTIMIZATION_LEVEL", "3");
- ADD_SETTING(iPhone_Release, "COPY_PHASE_STRIP", "YES");
- REMOVE_SETTING(iPhone_Release, "GCC_DYNAMIC_NO_PIC");
- ADD_SETTING(iPhone_Release, "WRAPPER_EXTENSION", "app");
- REMOVE_SETTING(iPhone_Release, "DEBUG_INFORMATION_FORMAT");
- ADD_SETTING_QUOTE(iPhone_Release, "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym");
-
- iPhone_Release_Object->addProperty("name", "Release", "", kSettingsNoValue);
- iPhone_Release_Object->_properties["buildSettings"] = iPhone_Release;
-
- _buildConfiguration.add(iPhone_Debug_Object);
- _buildConfiguration.add(iPhone_Release_Object);
-
/****************************************
* ScummVM - macOS Target
****************************************/
- // Debug
- Object *scummvmOSX_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-OSX_Debug", _targets[OSX_TARGET] /* ScummVM-macOS */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
- Property scummvmOSX_Debug;
- ADD_SETTING(scummvmOSX_Debug, "COMBINE_HIDPI_IMAGES", "YES");
- ADD_SETTING(scummvmOSX_Debug, "SDKROOT", "macosx");
- ADD_SETTING(scummvmOSX_Debug, "COPY_PHASE_STRIP", "NO");
- ADD_SETTING_QUOTE(scummvmOSX_Debug, "DEBUG_INFORMATION_FORMAT", "dwarf");
- ADD_SETTING_QUOTE(scummvmOSX_Debug, "FRAMEWORK_SEARCH_PATHS", "");
- ADD_SETTING(scummvmOSX_Debug, "CLANG_CXX_LANGUAGE_STANDARD", "\"c++11\"");
- ADD_SETTING(scummvmOSX_Debug, "GCC_C_LANGUAGE_STANDARD", "c99");
- ADD_SETTING(scummvmOSX_Debug, "GCC_ENABLE_CPP_EXCEPTIONS", "NO");
- ADD_SETTING(scummvmOSX_Debug, "GCC_ENABLE_CPP_RTTI", "YES");
- ADD_SETTING(scummvmOSX_Debug, "GCC_DYNAMIC_NO_PIC", "NO");
- ADD_SETTING(scummvmOSX_Debug, "GCC_OPTIMIZATION_LEVEL", "0");
- ADD_SETTING(scummvmOSX_Debug, "GCC_PRECOMPILE_PREFIX_HEADER", "NO");
- ADD_SETTING_QUOTE(scummvmOSX_Debug, "GCC_PREFIX_HEADER", "");
- ValueList scummvmOSX_defines;
- ADD_DEFINE(scummvmOSX_defines, "\"$(inherited)\"");
- ADD_DEFINE(scummvmOSX_defines, "SDL_BACKEND");
- if (setup.useSDL == kSDLVersion2) {
- ADD_DEFINE(scummvmOSX_defines, "USE_SDL2");
- } else if (setup.useSDL == kSDLVersion3) {
- ADD_DEFINE(scummvmOSX_defines, "USE_SDL3");
+ if (!setup.appleEmbedded) {
+ // Debug
+ Object *scummvmOSX_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-OSX_Debug", OSX_TARGET /* ScummVM-macOS */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
+ Property scummvmOSX_Debug;
+ ADD_SETTING(scummvmOSX_Debug, "COMBINE_HIDPI_IMAGES", "YES");
+ ADD_SETTING(scummvmOSX_Debug, "SDKROOT", "macosx");
+ ADD_SETTING(scummvmOSX_Debug, "COPY_PHASE_STRIP", "NO");
+ ADD_SETTING_QUOTE(scummvmOSX_Debug, "DEBUG_INFORMATION_FORMAT", "dwarf");
+ ADD_SETTING_QUOTE(scummvmOSX_Debug, "FRAMEWORK_SEARCH_PATHS", "");
+ ADD_SETTING(scummvmOSX_Debug, "CLANG_CXX_LANGUAGE_STANDARD", "\"c++11\"");
+ ADD_SETTING(scummvmOSX_Debug, "GCC_C_LANGUAGE_STANDARD", "c99");
+ ADD_SETTING(scummvmOSX_Debug, "GCC_ENABLE_CPP_EXCEPTIONS", "NO");
+ ADD_SETTING(scummvmOSX_Debug, "GCC_ENABLE_CPP_RTTI", "YES");
+ ADD_SETTING(scummvmOSX_Debug, "GCC_DYNAMIC_NO_PIC", "NO");
+ ADD_SETTING(scummvmOSX_Debug, "GCC_OPTIMIZATION_LEVEL", "0");
+ ADD_SETTING(scummvmOSX_Debug, "GCC_PRECOMPILE_PREFIX_HEADER", "NO");
+ ADD_SETTING_QUOTE(scummvmOSX_Debug, "GCC_PREFIX_HEADER", "");
+ /*
+ ValueList scummvmOSX_defines;
+ ADD_DEFINE(scummvmOSX_defines, "\"$(inherited)\"");
+ ADD_SETTING_LIST(scummvmOSX_Debug, "GCC_PREPROCESSOR_DEFINITIONS", scummvmOSX_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ */
+ ADD_SETTING_QUOTE(scummvmOSX_Debug, "GCC_VERSION", "");
+ ValueList scummvmOSX_HeaderPaths;
+ for (StringList::const_iterator i = setup.includeDirs.begin(); i != setup.includeDirs.end(); ++i)
+ scummvmOSX_HeaderPaths.push_back("\"" + *i + "\"");
+ scummvmOSX_HeaderPaths.push_back("/usr/local/include/" + libSDL);
+ scummvmOSX_HeaderPaths.push_back("/opt/homebrew/include/" + libSDL);
+ scummvmOSX_HeaderPaths.push_back("/opt/local/include/" + libSDL);
+ scummvmOSX_HeaderPaths.push_back("/usr/local/include");
+ scummvmOSX_HeaderPaths.push_back("/opt/homebrew/include");
+ scummvmOSX_HeaderPaths.push_back("/opt/local/include");
+ scummvmOSX_HeaderPaths.push_back("/usr/local/include/freetype2");
+ scummvmOSX_HeaderPaths.push_back("/opt/homebrew/include/freetype2");
+ scummvmOSX_HeaderPaths.push_back("/opt/local/include/freetype2");
+ scummvmOSX_HeaderPaths.push_back("include/");
+ scummvmOSX_HeaderPaths.push_back("$(SRCROOT)/engines/");
+ scummvmOSX_HeaderPaths.push_back("$(SRCROOT)");
+ ADD_SETTING_LIST(scummvmOSX_Debug, "HEADER_SEARCH_PATHS", scummvmOSX_HeaderPaths, kSettingsQuoteVariable | kSettingsAsList, 5);
+ ADD_SETTING_QUOTE(scummvmOSX_Debug, "INFOPLIST_FILE", "$(SRCROOT)/dists/macosx/Info.plist");
+ ValueList scummvmOSX_LibPaths;
+ for (StringList::const_iterator i = setup.libraryDirs.begin(); i != setup.libraryDirs.end(); ++i)
+ scummvmOSX_LibPaths.push_back("\"" + *i + "\"");
+ scummvmOSX_LibPaths.push_back("/usr/local/lib");
+ scummvmOSX_LibPaths.push_back("/opt/homebrew/lib");
+ scummvmOSX_LibPaths.push_back("/opt/local/lib");
+ scummvmOSX_LibPaths.push_back("\"$(inherited)\"");
+ scummvmOSX_LibPaths.push_back("\"\\\"$(SRCROOT)/lib\\\"\"");
+ ADD_SETTING_LIST(scummvmOSX_Debug, "LIBRARY_SEARCH_PATHS", scummvmOSX_LibPaths, kSettingsNoQuote | kSettingsAsList, 5);
+ ADD_SETTING_QUOTE(scummvmOSX_Debug, "MACOSX_DEPLOYMENT_TARGET", "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)");
+ ADD_SETTING_QUOTE(scummvmOSX_Debug, "OTHER_CFLAGS", "");
+ ADD_SETTING(scummvmOSX_Debug, "PRODUCT_NAME", PROJECT_NAME);
+
+ scummvmOSX_Debug_Object->addProperty("name", "Debug", "", kSettingsNoValue);
+ scummvmOSX_Debug_Object->_properties["buildSettings"] = scummvmOSX_Debug;
+
+ // Release
+ Object *scummvmOSX_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-OSX_Release", OSX_TARGET /* ScummVM-macOS */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
+ Property scummvmOSX_Release(scummvmOSX_Debug);
+ ADD_SETTING(scummvmOSX_Release, "COPY_PHASE_STRIP", "YES");
+ REMOVE_SETTING(scummvmOSX_Release, "GCC_DYNAMIC_NO_PIC");
+ REMOVE_SETTING(scummvmOSX_Release, "GCC_OPTIMIZATION_LEVEL");
+ ADD_SETTING(scummvmOSX_Release, "GCC_OPTIMIZATION_LEVEL", "3");
+ ADD_SETTING(scummvmOSX_Release, "WRAPPER_EXTENSION", "app");
+ REMOVE_SETTING(scummvmOSX_Release, "DEBUG_INFORMATION_FORMAT");
+ ADD_SETTING_QUOTE(scummvmOSX_Release, "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym");
+
+ scummvmOSX_Release_Object->addProperty("name", "Release", "", kSettingsNoValue);
+ scummvmOSX_Release_Object->_properties["buildSettings"] = scummvmOSX_Release;
+
+ _buildConfiguration.add(scummvmOSX_Debug_Object);
+ _buildConfiguration.add(scummvmOSX_Release_Object);
}
- ADD_DEFINE(scummvmOSX_defines, "MACOSX");
- ADD_SETTING_LIST(scummvmOSX_Debug, "GCC_PREPROCESSOR_DEFINITIONS", scummvmOSX_defines, kSettingsNoQuote | kSettingsAsList, 5);
- ADD_SETTING_QUOTE(scummvmOSX_Debug, "GCC_VERSION", "");
- ValueList scummvmOSX_HeaderPaths;
- for (StringList::const_iterator i = setup.includeDirs.begin(); i != setup.includeDirs.end(); ++i)
- scummvmOSX_HeaderPaths.push_back("\"" + *i + "\"");
- scummvmOSX_HeaderPaths.push_back("/usr/local/include/" + libSDL);
- scummvmOSX_HeaderPaths.push_back("/opt/homebrew/include/" + libSDL);
- scummvmOSX_HeaderPaths.push_back("/opt/local/include/" + libSDL);
- scummvmOSX_HeaderPaths.push_back("/usr/local/include");
- scummvmOSX_HeaderPaths.push_back("/opt/homebrew/include");
- scummvmOSX_HeaderPaths.push_back("/opt/local/include");
- scummvmOSX_HeaderPaths.push_back("/usr/local/include/freetype2");
- scummvmOSX_HeaderPaths.push_back("/opt/homebrew/include/freetype2");
- scummvmOSX_HeaderPaths.push_back("/opt/local/include/freetype2");
- scummvmOSX_HeaderPaths.push_back("include/");
- scummvmOSX_HeaderPaths.push_back("$(SRCROOT)/engines/");
- scummvmOSX_HeaderPaths.push_back("$(SRCROOT)");
- ADD_SETTING_LIST(scummvmOSX_Debug, "HEADER_SEARCH_PATHS", scummvmOSX_HeaderPaths, kSettingsQuoteVariable | kSettingsAsList, 5);
- ADD_SETTING_QUOTE(scummvmOSX_Debug, "INFOPLIST_FILE", "$(SRCROOT)/dists/macosx/Info.plist");
- ValueList scummvmOSX_LibPaths;
- for (StringList::const_iterator i = setup.libraryDirs.begin(); i != setup.libraryDirs.end(); ++i)
- scummvmOSX_LibPaths.push_back("\"" + *i + "\"");
- scummvmOSX_LibPaths.push_back("/usr/local/lib");
- scummvmOSX_LibPaths.push_back("/opt/homebrew/lib");
- scummvmOSX_LibPaths.push_back("/opt/local/lib");
- scummvmOSX_LibPaths.push_back("\"$(inherited)\"");
- scummvmOSX_LibPaths.push_back("\"\\\"$(SRCROOT)/lib\\\"\"");
- ADD_SETTING_LIST(scummvmOSX_Debug, "LIBRARY_SEARCH_PATHS", scummvmOSX_LibPaths, kSettingsNoQuote | kSettingsAsList, 5);
- ADD_SETTING_QUOTE(scummvmOSX_Debug, "MACOSX_DEPLOYMENT_TARGET", "$(RECOMMENDED_MACOSX_DEPLOYMENT_TARGET)");
- ADD_SETTING_QUOTE(scummvmOSX_Debug, "OTHER_CFLAGS", "");
- ADD_SETTING(scummvmOSX_Debug, "PRODUCT_NAME", PROJECT_NAME);
-
- scummvmOSX_Debug_Object->addProperty("name", "Debug", "", kSettingsNoValue);
- scummvmOSX_Debug_Object->_properties["buildSettings"] = scummvmOSX_Debug;
-
- // Release
- Object *scummvmOSX_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-OSX_Release", _targets[OSX_TARGET] /* ScummVM-macOS */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
- Property scummvmOSX_Release(scummvmOSX_Debug);
- ADD_SETTING(scummvmOSX_Release, "COPY_PHASE_STRIP", "YES");
- REMOVE_SETTING(scummvmOSX_Release, "GCC_DYNAMIC_NO_PIC");
- REMOVE_SETTING(scummvmOSX_Release, "GCC_OPTIMIZATION_LEVEL");
- ADD_SETTING(scummvmOSX_Release, "GCC_OPTIMIZATION_LEVEL", "3");
- ADD_SETTING(scummvmOSX_Release, "WRAPPER_EXTENSION", "app");
- REMOVE_SETTING(scummvmOSX_Release, "DEBUG_INFORMATION_FORMAT");
- ADD_SETTING_QUOTE(scummvmOSX_Release, "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym");
-
- scummvmOSX_Release_Object->addProperty("name", "Release", "", kSettingsNoValue);
- scummvmOSX_Release_Object->_properties["buildSettings"] = scummvmOSX_Release;
-
- _buildConfiguration.add(scummvmOSX_Debug_Object);
- _buildConfiguration.add(scummvmOSX_Release_Object);
///****************************************
- // * ScummVM - tvOS Target
+ // * ScummVM - iOS Target
// ****************************************/
- // Debug
- Object *tvOS_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-tvOS_Debug", _targets[TVOS_TARGET] /* ScummVM-tvOS */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
- Property tvOS_Debug;
- ADD_SETTING_QUOTE(tvOS_Debug, "CODE_SIGN_IDENTITY", "iPhone Developer");
- ADD_SETTING_QUOTE_VAR(tvOS_Debug, "CODE_SIGN_IDENTITY[sdk=appletvos*]", "iPhone Developer");
- ADD_SETTING(tvOS_Debug, "COPY_PHASE_STRIP", "NO");
- ADD_SETTING_QUOTE(tvOS_Debug, "DEBUG_INFORMATION_FORMAT", "dwarf");
- ADD_SETTING(tvOS_Debug, "ENABLE_BITCODE", "NO");
- ValueList tvOS_FrameworkSearchPaths;
- tvOS_FrameworkSearchPaths.push_back("$(inherited)");
- tvOS_FrameworkSearchPaths.push_back("\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"");
- ADD_SETTING_LIST(tvOS_Debug, "FRAMEWORK_SEARCH_PATHS", tvOS_FrameworkSearchPaths, kSettingsAsList, 5);
- ADD_SETTING(tvOS_Debug, "GCC_DYNAMIC_NO_PIC", "NO");
- ADD_SETTING(tvOS_Debug, "GCC_ENABLE_CPP_EXCEPTIONS", "NO");
- ADD_SETTING(tvOS_Debug, "GCC_OPTIMIZATION_LEVEL", "0");
- ADD_SETTING(tvOS_Debug, "GCC_PRECOMPILE_PREFIX_HEADER", "NO");
- ADD_SETTING(tvOS_Debug, "GCC_WARN_64_TO_32_BIT_CONVERSION", "NO");
- ADD_SETTING_QUOTE(tvOS_Debug, "GCC_PREFIX_HEADER", "");
- ADD_SETTING(tvOS_Debug, "GCC_UNROLL_LOOPS", "YES");
- ValueList tvOS_HeaderSearchPaths;
- tvOS_HeaderSearchPaths.push_back("$(SRCROOT)/engines/");
- tvOS_HeaderSearchPaths.push_back("$(SRCROOT)");
- for (StringList::const_iterator i = setup.includeDirs.begin(); i != setup.includeDirs.end(); ++i)
- tvOS_HeaderSearchPaths.push_back("\"" + *i + "\"");
- tvOS_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "\"");
- tvOS_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include\"");
- if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
- tvOS_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include/" + libSDL + "\"");
+ if (setup.appleEmbedded) {
+ // Debug
+ Object *iPhone_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-iPhone_Debug", IOS_TARGET /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
+ Property iPhone_Debug;
+ ADD_SETTING_QUOTE(iPhone_Debug, "CODE_SIGN_IDENTITY", "iPhone Developer");
+ ADD_SETTING_QUOTE_VAR(iPhone_Debug, "CODE_SIGN_IDENTITY[sdk=iphoneos*]", "iPhone Developer");
+ ADD_SETTING(iPhone_Debug, "COPY_PHASE_STRIP", "NO");
+ ADD_SETTING_QUOTE(iPhone_Debug, "DEBUG_INFORMATION_FORMAT", "dwarf");
+ ADD_SETTING(iPhone_Debug, "ENABLE_BITCODE", "NO");
+ ValueList iPhone_FrameworkSearchPaths;
+ iPhone_FrameworkSearchPaths.push_back("$(inherited)");
+ iPhone_FrameworkSearchPaths.push_back("\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"");
+ ADD_SETTING_LIST(iPhone_Debug, "FRAMEWORK_SEARCH_PATHS", iPhone_FrameworkSearchPaths, kSettingsAsList, 5);
+ ADD_SETTING(iPhone_Debug, "GCC_DYNAMIC_NO_PIC", "NO");
+ ADD_SETTING(iPhone_Debug, "GCC_ENABLE_CPP_EXCEPTIONS", "NO");
+ ADD_SETTING(iPhone_Debug, "GCC_OPTIMIZATION_LEVEL", "0");
+ ADD_SETTING(iPhone_Debug, "GCC_PRECOMPILE_PREFIX_HEADER", "NO");
+ ADD_SETTING_QUOTE(iPhone_Debug, "GCC_PREFIX_HEADER", "");
+ ADD_SETTING(iPhone_Debug, "GCC_UNROLL_LOOPS", "YES");
+ ValueList iPhone_HeaderSearchPaths;
+ iPhone_HeaderSearchPaths.push_back("$(SRCROOT)/engines/");
+ iPhone_HeaderSearchPaths.push_back("$(SRCROOT)");
+ for (StringList::const_iterator i = setup.includeDirs.begin(); i != setup.includeDirs.end(); ++i)
+ iPhone_HeaderSearchPaths.push_back("\"" + *i + "\"");
+ iPhone_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "\"");
+ if (!setup.useXCFramework) {
+ iPhone_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include\"");
+ if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
+ iPhone_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include/" + libSDL + "\"");
+ }
+ }
+ ADD_SETTING_LIST(iPhone_Debug, "HEADER_SEARCH_PATHS", iPhone_HeaderSearchPaths, kSettingsAsList | kSettingsQuoteVariable, 5);
+ ADD_SETTING_QUOTE(iPhone_Debug, "INFOPLIST_FILE", "$(SRCROOT)/dists/ios7/Info.plist");
+ ValueList iPhone_LibPaths;
+ for (StringList::const_iterator i = setup.libraryDirs.begin(); i != setup.libraryDirs.end(); ++i)
+ iPhone_LibPaths.push_back("\"" + *i + "\"");
+ iPhone_LibPaths.push_back("$(inherited)");
+ if (!setup.useXCFramework)
+ iPhone_LibPaths.push_back("\"" + projectOutputDirectory + "/lib\"");
+ ADD_SETTING_LIST(iPhone_Debug, "LIBRARY_SEARCH_PATHS", iPhone_LibPaths, kSettingsAsList, 5);
+ ADD_SETTING(iPhone_Debug, "ONLY_ACTIVE_ARCH", "YES");
+ ADD_SETTING(iPhone_Debug, "PRODUCT_NAME", PROJECT_NAME);
+ ADD_SETTING(iPhone_Debug, "PRODUCT_BUNDLE_IDENTIFIER", "\"org.scummvm.${PRODUCT_NAME}\"");
+ ADD_SETTING(iPhone_Debug, "IPHONEOS_DEPLOYMENT_TARGET", "9.0");
+ ADD_SETTING_QUOTE_VAR(iPhone_Debug, "PROVISIONING_PROFILE[sdk=iphoneos*]", "");
+ ADD_SETTING(iPhone_Debug, "SDKROOT", "iphoneos");
+ ADD_SETTING_QUOTE(iPhone_Debug, "TARGETED_DEVICE_FAMILY", "1,2");
+ ValueList scummvmIOSsimulator_defines;
+ ADD_DEFINE(scummvmIOSsimulator_defines, "\"$(inherited)\"");
+ ADD_DEFINE(scummvmIOSsimulator_defines, "IPHONE");
+ ADD_DEFINE(scummvmIOSsimulator_defines, "IPHONE_IOS7");
+ if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
+ ADD_DEFINE(scummvmIOSsimulator_defines, "WITHOUT_SDL");
+ ADD_SETTING_LIST(iPhone_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphonesimulator*]\"", scummvmIOSsimulator_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ // Separate iphoneos and iphonesimulator definitions since simulator running on x86_64
+ // hosts doesn't support NEON
+ ValueList scummvmIOS_defines = scummvmIOSsimulator_defines;
+ ADD_SETTING_LIST(iPhone_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=iphoneos*]\"", scummvmIOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ ADD_SETTING(iPhone_Debug, "ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
+ ADD_SETTING(iPhone_Debug, "ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
+
+ iPhone_Debug_Object->addProperty("name", "Debug", "", kSettingsNoValue);
+ iPhone_Debug_Object->_properties["buildSettings"] = iPhone_Debug;
+
+ // Release
+ Object *iPhone_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-iPhone_Release", IOS_TARGET /* ScummVM-iPhone */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
+ Property iPhone_Release(iPhone_Debug);
+ ADD_SETTING(iPhone_Release, "GCC_OPTIMIZATION_LEVEL", "3");
+ ADD_SETTING(iPhone_Release, "COPY_PHASE_STRIP", "YES");
+ REMOVE_SETTING(iPhone_Release, "GCC_DYNAMIC_NO_PIC");
+ ADD_SETTING(iPhone_Release, "WRAPPER_EXTENSION", "app");
+ REMOVE_SETTING(iPhone_Release, "DEBUG_INFORMATION_FORMAT");
+ ADD_SETTING_QUOTE(iPhone_Release, "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym");
+
+ iPhone_Release_Object->addProperty("name", "Release", "", kSettingsNoValue);
+ iPhone_Release_Object->_properties["buildSettings"] = iPhone_Release;
+
+ _buildConfiguration.add(iPhone_Debug_Object);
+ _buildConfiguration.add(iPhone_Release_Object);
}
- ADD_SETTING_LIST(tvOS_Debug, "HEADER_SEARCH_PATHS", tvOS_HeaderSearchPaths, kSettingsAsList | kSettingsQuoteVariable, 5);
- ADD_SETTING_QUOTE(tvOS_Debug, "INFOPLIST_FILE", "$(SRCROOT)/dists/tvos/Info.plist");
- ValueList tvOS_LibPaths;
- for (StringList::const_iterator i = setup.libraryDirs.begin(); i != setup.libraryDirs.end(); ++i)
- tvOS_LibPaths.push_back("\"" + *i + "\"");
- tvOS_LibPaths.push_back("$(inherited)");
- tvOS_LibPaths.push_back("\"" + projectOutputDirectory + "/lib\"");
- ADD_SETTING_LIST(tvOS_Debug, "LIBRARY_SEARCH_PATHS", tvOS_LibPaths, kSettingsAsList, 5);
- ADD_SETTING(tvOS_Debug, "ONLY_ACTIVE_ARCH", "YES");
- ADD_SETTING(tvOS_Debug, "PRODUCT_NAME", PROJECT_NAME);
- ADD_SETTING(tvOS_Debug, "PRODUCT_BUNDLE_IDENTIFIER", "\"org.scummvm.${PRODUCT_NAME}\"");
- ADD_SETTING(tvOS_Debug, "TVOS_DEPLOYMENT_TARGET", "9.0");
- ADD_SETTING_QUOTE_VAR(tvOS_Debug, "PROVISIONING_PROFILE[sdk=appletvos*]", "");
- ADD_SETTING(tvOS_Debug, "SDKROOT", "appletvos");
- ADD_SETTING_QUOTE(tvOS_Debug, "TARGETED_DEVICE_FAMILY", "3");
- ValueList scummvmTVOSsimulator_defines;
- ADD_DEFINE(scummvmTVOSsimulator_defines, "\"$(inherited)\"");
- ADD_DEFINE(scummvmTVOSsimulator_defines, "IPHONE");
- ADD_DEFINE(scummvmTVOSsimulator_defines, "IPHONE_IOS7");
- if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
- ADD_DEFINE(scummvmTVOSsimulator_defines, "WITHOUT_SDL");
- ADD_SETTING_LIST(tvOS_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvsimulator*]\"", scummvmTVOSsimulator_defines, kSettingsNoQuote | kSettingsAsList, 5);
- // Separate appletvos and appletvsimulator definitions since simulator running on x86_64
- // hosts doesn't support NEON
- ValueList scummvmTVOS_defines = scummvmTVOSsimulator_defines;
- ADD_DEFINE(scummvmTVOS_defines, "SCUMMVM_NEON");
- ADD_SETTING_LIST(tvOS_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvos*]\"", scummvmTVOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
- ADD_SETTING(tvOS_Debug, "ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
- ADD_SETTING(tvOS_Debug, "ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
- tvOS_Debug_Object->addProperty("name", "Debug", "", kSettingsNoValue);
- tvOS_Debug_Object->_properties["buildSettings"] = tvOS_Debug;
-
- // Release
- Object *tvOS_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-tvOS_Release", _targets[TVOS_TARGET] /* ScummVM-tvOS */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
- Property tvOS_Release(tvOS_Debug);
- ADD_SETTING(tvOS_Release, "GCC_OPTIMIZATION_LEVEL", "3");
- ADD_SETTING(tvOS_Release, "COPY_PHASE_STRIP", "YES");
- REMOVE_SETTING(tvOS_Release, "GCC_DYNAMIC_NO_PIC");
- ADD_SETTING(tvOS_Release, "WRAPPER_EXTENSION", "app");
- REMOVE_SETTING(tvOS_Release, "DEBUG_INFORMATION_FORMAT");
- ADD_SETTING_QUOTE(tvOS_Release, "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym");
- tvOS_Release_Object->addProperty("name", "Release", "", kSettingsNoValue);
- tvOS_Release_Object->_properties["buildSettings"] = tvOS_Release;
+ ///****************************************
+ // * ScummVM - tvOS Target
+ // ****************************************/
- _buildConfiguration.add(tvOS_Debug_Object);
- _buildConfiguration.add(tvOS_Release_Object);
+ if (setup.appleEmbedded) {
+ // Debug
+ Object *tvOS_Debug_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-tvOS_Debug", TVOS_TARGET /* ScummVM-tvOS */, "XCBuildConfiguration", "PBXNativeTarget", "Debug");
+ Property tvOS_Debug;
+ ADD_SETTING_QUOTE(tvOS_Debug, "CODE_SIGN_IDENTITY", "iPhone Developer");
+ ADD_SETTING_QUOTE_VAR(tvOS_Debug, "CODE_SIGN_IDENTITY[sdk=appletvos*]", "iPhone Developer");
+ ADD_SETTING(tvOS_Debug, "COPY_PHASE_STRIP", "NO");
+ ADD_SETTING_QUOTE(tvOS_Debug, "DEBUG_INFORMATION_FORMAT", "dwarf");
+ ADD_SETTING(tvOS_Debug, "ENABLE_BITCODE", "NO");
+ ValueList tvOS_FrameworkSearchPaths;
+ tvOS_FrameworkSearchPaths.push_back("$(inherited)");
+ tvOS_FrameworkSearchPaths.push_back("\"$(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks\"");
+ ADD_SETTING_LIST(tvOS_Debug, "FRAMEWORK_SEARCH_PATHS", tvOS_FrameworkSearchPaths, kSettingsAsList, 5);
+ ADD_SETTING(tvOS_Debug, "GCC_DYNAMIC_NO_PIC", "NO");
+ ADD_SETTING(tvOS_Debug, "GCC_ENABLE_CPP_EXCEPTIONS", "NO");
+ ADD_SETTING(tvOS_Debug, "GCC_OPTIMIZATION_LEVEL", "0");
+ ADD_SETTING(tvOS_Debug, "GCC_PRECOMPILE_PREFIX_HEADER", "NO");
+ ADD_SETTING(tvOS_Debug, "GCC_WARN_64_TO_32_BIT_CONVERSION", "NO");
+ ADD_SETTING_QUOTE(tvOS_Debug, "GCC_PREFIX_HEADER", "");
+ ADD_SETTING(tvOS_Debug, "GCC_UNROLL_LOOPS", "YES");
+ ValueList tvOS_HeaderSearchPaths;
+ tvOS_HeaderSearchPaths.push_back("$(SRCROOT)/engines/");
+ tvOS_HeaderSearchPaths.push_back("$(SRCROOT)");
+ for (StringList::const_iterator i = setup.includeDirs.begin(); i != setup.includeDirs.end(); ++i)
+ tvOS_HeaderSearchPaths.push_back("\"" + *i + "\"");
+ tvOS_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "\"");
+ tvOS_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include\"");
+ if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET")) {
+ tvOS_HeaderSearchPaths.push_back("\"" + projectOutputDirectory + "/include/" + libSDL + "\"");
+ }
+ ADD_SETTING_LIST(tvOS_Debug, "HEADER_SEARCH_PATHS", tvOS_HeaderSearchPaths, kSettingsAsList | kSettingsQuoteVariable, 5);
+ ADD_SETTING_QUOTE(tvOS_Debug, "INFOPLIST_FILE", "$(SRCROOT)/dists/tvos/Info.plist");
+ ValueList tvOS_LibPaths;
+ for (StringList::const_iterator i = setup.libraryDirs.begin(); i != setup.libraryDirs.end(); ++i)
+ tvOS_LibPaths.push_back("\"" + *i + "\"");
+ tvOS_LibPaths.push_back("$(inherited)");
+ tvOS_LibPaths.push_back("\"" + projectOutputDirectory + "/lib\"");
+ ADD_SETTING_LIST(tvOS_Debug, "LIBRARY_SEARCH_PATHS", tvOS_LibPaths, kSettingsAsList, 5);
+ ADD_SETTING(tvOS_Debug, "ONLY_ACTIVE_ARCH", "YES");
+ ADD_SETTING(tvOS_Debug, "PRODUCT_NAME", PROJECT_NAME);
+ ADD_SETTING(tvOS_Debug, "PRODUCT_BUNDLE_IDENTIFIER", "\"org.scummvm.${PRODUCT_NAME}\"");
+ ADD_SETTING(tvOS_Debug, "TVOS_DEPLOYMENT_TARGET", "9.0");
+ ADD_SETTING_QUOTE_VAR(tvOS_Debug, "PROVISIONING_PROFILE[sdk=appletvos*]", "");
+ ADD_SETTING(tvOS_Debug, "SDKROOT", "appletvos");
+ ADD_SETTING_QUOTE(tvOS_Debug, "TARGETED_DEVICE_FAMILY", "3");
+ ValueList scummvmTVOSsimulator_defines;
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "\"$(inherited)\"");
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "IPHONE");
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "IPHONE_IOS7");
+ if (CONTAINS_DEFINE(setup.defines, "USE_SDL_NET"))
+ ADD_DEFINE(scummvmTVOSsimulator_defines, "WITHOUT_SDL");
+ ADD_SETTING_LIST(tvOS_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvsimulator*]\"", scummvmTVOSsimulator_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ // Separate appletvos and appletvsimulator definitions since simulator running on x86_64
+ // hosts doesn't support NEON
+ ValueList scummvmTVOS_defines = scummvmTVOSsimulator_defines;
+ ADD_SETTING_LIST(tvOS_Debug, "\"GCC_PREPROCESSOR_DEFINITIONS[sdk=appletvos*]\"", scummvmTVOS_defines, kSettingsNoQuote | kSettingsAsList, 5);
+ ADD_SETTING(tvOS_Debug, "ASSETCATALOG_COMPILER_APPICON_NAME", "AppIcon");
+ ADD_SETTING(tvOS_Debug, "ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME", "LaunchImage");
+ tvOS_Debug_Object->addProperty("name", "Debug", "", kSettingsNoValue);
+ tvOS_Debug_Object->_properties["buildSettings"] = tvOS_Debug;
+
+ // Release
+ Object *tvOS_Release_Object = new Object(this, "XCBuildConfiguration_" PROJECT_DESCRIPTION "-tvOS_Release", TVOS_TARGET /* ScummVM-tvOS */, "XCBuildConfiguration", "PBXNativeTarget", "Release");
+ Property tvOS_Release(tvOS_Debug);
+ ADD_SETTING(tvOS_Release, "GCC_OPTIMIZATION_LEVEL", "3");
+ ADD_SETTING(tvOS_Release, "COPY_PHASE_STRIP", "YES");
+ REMOVE_SETTING(tvOS_Release, "GCC_DYNAMIC_NO_PIC");
+ ADD_SETTING(tvOS_Release, "WRAPPER_EXTENSION", "app");
+ REMOVE_SETTING(tvOS_Release, "DEBUG_INFORMATION_FORMAT");
+ ADD_SETTING_QUOTE(tvOS_Release, "DEBUG_INFORMATION_FORMAT", "dwarf-with-dsym");
+
+ tvOS_Release_Object->addProperty("name", "Release", "", kSettingsNoValue);
+ tvOS_Release_Object->_properties["buildSettings"] = tvOS_Release;
+
+ _buildConfiguration.add(tvOS_Debug_Object);
+ _buildConfiguration.add(tvOS_Release_Object);
+ }
// Warning: This assumes we have all configurations with a Debug & Release pair
for (std::vector<Object *>::iterator config = _buildConfiguration._objects.begin(); config != _buildConfiguration._objects.end(); config++) {
@@ -1642,6 +1613,9 @@ void XcodeProvider::setupBuildConfiguration(const BuildSetup &setup) {
}
void XcodeProvider::setupImageAssetCatalog(const BuildSetup &setup) {
+ if (!setup.appleEmbedded) {
+ return;
+ }
const std::string filename = "Images.xcassets";
const std::string absoluteCatalogPath = _projectRoot + "/dists/ios7/" + filename;
const std::string absoluteCatalogPathTVOS = _projectRoot + "/dists/tvos/" + filename;
@@ -1675,13 +1649,8 @@ void XcodeProvider::setupDefines(const BuildSetup &setup) {
for (StringList::const_iterator i = setup.defines.begin(); i != setup.defines.end(); ++i) {
ADD_DEFINE(_defines, *i);
}
- REMOVE_DEFINE(_defines, "USE_NASM"); // Not supported on Mac
// Add special defines for Mac support
- REMOVE_DEFINE(_defines, "MACOSX");
- REMOVE_DEFINE(_defines, "IPHONE");
- REMOVE_DEFINE(_defines, "IPHONE_IOS7");
- REMOVE_DEFINE(_defines, "SDL_BACKEND");
- REMOVE_DEFINE(_defines, "SCUMMVM_NEON");
+ // TODO: check if it's still needed
ADD_DEFINE(_defines, "CONFIG_H");
ADD_DEFINE(_defines, "UNIX");
ADD_DEFINE(_defines, "HAS_FSEEKO_OFFT_64");
Commit: 919f3a25d2c27ec5ed4c8baadc74c4ff61b3c98a
https://github.com/scummvm/scummvm/commit/919f3a25d2c27ec5ed4c8baadc74c4ff61b3c98a
Author: Lars Sundström (l.sundstrom at gmail.com)
Date: 2025-11-20T20:25:37+01:00
Commit Message:
DOCPORTAL: Update build instructions for iOS and tvOS ports
Add the new parameter --ios to create_project.
The pre-built frameworks contains the A52 library. The feature is
however disabled by default in create_project. Add build instruction
to enable it when building the iOS and tvOS ports.
Don't disable nasm, that is handled in create_project.
Changed paths:
doc/docportal/other_platforms/ios_build.rst
diff --git a/doc/docportal/other_platforms/ios_build.rst b/doc/docportal/other_platforms/ios_build.rst
index 03356c6bc94..ffa6006f1f0 100644
--- a/doc/docportal/other_platforms/ios_build.rst
+++ b/doc/docportal/other_platforms/ios_build.rst
@@ -66,7 +66,7 @@ It's time to generate the Xcode project. Run the following on the command line:
.. code::
- ../scummvm/devtools/create_project/xcode/build/Release/create_project ../scummvm --xcode --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --disable-nasm --disable-taskbar --disable-tts
+ ../scummvm/devtools/create_project/xcode/build/Release/create_project ../scummvm --xcode --ios --use-xcframework --enable-faad --enable-gif --enable-mikmod --enable-vpx --enable-mpc --enable-a52 --disable-taskbar --disable-tts
The resulting directory structure looks like this:
More information about the Scummvm-git-logs
mailing list