mirror of
https://github.com/libsdl-org/SDL.git
synced 2026-02-20 10:28:23 +00:00
Add parametrized build script
[ci skip]
This commit is contained in:
committed by
Anonymous Maarten
parent
57f2577c65
commit
45dfdfbb7b
@@ -2795,7 +2795,7 @@
|
||||
);
|
||||
runOnlyForDeploymentPostprocessing = 0;
|
||||
shellPath = /bin/sh;
|
||||
shellScript = "set -ex\n\nmkdir -p build/dmg-tmp/share/cmake/SDL3\ncp -a build/SDL3.xcframework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\ncp pkg-support/resources/share/cmake/SDL3/sdl3-config.cmake build/dmg-tmp/share/cmake/SDL3\ncp pkg-support/resources/share/cmake/SDL3/sdl3-config-version.cmake build/dmg-tmp/share/cmake/SDL3\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL3 -srcfolder build/dmg-tmp build/SDL3.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n";
|
||||
shellScript = "set -ex\n\nmkdir -p build/dmg-tmp/share/cmake/SDL3\ncp -a build/SDL3.xcframework build/dmg-tmp/\n\ncp pkg-support/resources/License.txt build/dmg-tmp\ncp pkg-support/resources/ReadMe.txt build/dmg-tmp\ncp pkg-support/share/cmake/SDL3/SDL3Config.cmake build/dmg-tmp/share/cmake/SDL3\ncp pkg-support/share/cmake/SDL3/SDL3ConfigVersion.cmake build/dmg-tmp/share/cmake/SDL3\n\n# remove the .DS_Store files if any (we may want to provide one in the future for fancy .dmgs)\nfind build/dmg-tmp -name .DS_Store -exec rm -f \"{}\" \\;\n\n# for fancy .dmg\nmkdir -p build/dmg-tmp/.logo\ncp pkg-support/resources/SDL_DS_Store build/dmg-tmp/.DS_Store\ncp pkg-support/sdl_logo.pdf build/dmg-tmp/.logo\n\n# create the dmg\nhdiutil create -ov -fs HFS+ -volname SDL3 -srcfolder build/dmg-tmp build/SDL3.dmg\n\n# clean up\nrm -rf build/dmg-tmp\n";
|
||||
};
|
||||
F3B38CF0296F63D1005DA6D3 /* ShellScript */ = {
|
||||
isa = PBXShellScriptBuildPhase;
|
||||
|
||||
8
Xcode/SDL/pkg-support/build.xcconfig
Normal file
8
Xcode/SDL/pkg-support/build.xcconfig
Normal file
@@ -0,0 +1,8 @@
|
||||
//
|
||||
// build.xcconfig
|
||||
//
|
||||
|
||||
// Configuration settings file format documentation can be found at:
|
||||
// https://help.apple.com/xcode/#/dev745c5c974
|
||||
|
||||
SDL_PREPROCESSOR_DEFINITIONS = SDL_VENDOR_INFO=\"libsdl.org\"
|
||||
@@ -32,14 +32,24 @@ endmacro()
|
||||
set(SDL3_FOUND TRUE)
|
||||
|
||||
macro(_check_target_is_simulator)
|
||||
include(CheckCSourceCompiles)
|
||||
check_c_source_compiles([===[
|
||||
set(src [===[
|
||||
#include <TargetConditionals.h>
|
||||
#if defined(TARGET_OS_SIMULATOR)
|
||||
#if defined(TARGET_OS_SIMULATOR) && TARGET_OS_SIMULATOR
|
||||
int target_is_simulator;
|
||||
#endif
|
||||
int main(int argc, char *argv[]) { return target_is_simulator; }
|
||||
]===] SDL_TARGET_IS_SIMULATOR)
|
||||
]===])
|
||||
if(CMAKE_C_COMPILER)
|
||||
include(CheckCSourceCompiles)
|
||||
check_c_source_compiles("${src}" SDL_TARGET_IS_SIMULATOR)
|
||||
elseif(CMAKE_CXX_COMPILER)
|
||||
include(CheckCXXSourceCompiles)
|
||||
check_cxx_source_compiles("${src}" SDL_TARGET_IS_SIMULATOR)
|
||||
else()
|
||||
enable_language(C)
|
||||
include(CheckCSourceCompiles)
|
||||
check_c_source_compiles("${src}" SDL_TARGET_IS_SIMULATOR)
|
||||
endif()
|
||||
endmacro()
|
||||
|
||||
if(CMAKE_SYSTEM_NAME STREQUAL "iOS")
|
||||
@@ -59,7 +69,7 @@ elseif(CMAKE_SYSTEM_NAME STREQUAL "tvOS")
|
||||
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
|
||||
set(_xcfw_target_subdir "macos-arm64_x86_64")
|
||||
else()
|
||||
message(WARNING "Unsupported Apple platform (${CMAKE_SYSTEM_NAME}) and broken sdl3-config-version.cmake")
|
||||
message(WARNING "Unsupported Apple platform (${CMAKE_SYSTEM_NAME}) and broken SDL3ConfigVersion.cmake")
|
||||
set(SDL3_FOUND FALSE)
|
||||
return()
|
||||
endif()
|
||||
@@ -89,7 +99,9 @@ set(SDL3_Headers_FOUND TRUE)
|
||||
|
||||
if(NOT TARGET SDL3::SDL3-shared)
|
||||
add_library(SDL3::SDL3-shared SHARED IMPORTED)
|
||||
if(CMAKE_VERSION GREATER_EQUAL "3.28")
|
||||
# CMake does not automatically add RPATHS when using xcframeworks
|
||||
# https://gitlab.kitware.com/cmake/cmake/-/issues/25998
|
||||
if(0) # if(CMAKE_VERSION GREATER_EQUAL "3.28")
|
||||
set_target_properties(SDL3::SDL3-shared
|
||||
PROPERTIES
|
||||
FRAMEWORK "TRUE"
|
||||
Reference in New Issue
Block a user