From 26bc56f934fc11ca3e213ca2d12dc4977e42d192 Mon Sep 17 00:00:00 2001 From: Fabio Alessandrelli Date: Mon, 17 Jun 2024 18:01:57 +0200 Subject: [SCons] Improve CMake and OpenSSL macOS/iOS targets Update CI to macos-12 (since macos-11 is not longer available. --- .github/workflows/build_release.yml | 6 +++--- tools/cmake.py | 5 ++--- tools/openssl.py | 8 ++++++++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/.github/workflows/build_release.yml b/.github/workflows/build_release.yml index ae39dcb..2019105 100644 --- a/.github/workflows/build_release.yml +++ b/.github/workflows/build_release.yml @@ -64,13 +64,13 @@ jobs: arch: 'x86_64' gdnative_flags: 'ios_arch=x86_64' sconsflags: 'ios_simulator=true' - os: 'macos-11' + os: 'macos-12' cache-name: ios-x86_64-simulator - platform: ios arch: 'arm64' gdnative_flags: 'ios_arch=arm64' sconsflags: '' - os: 'macos-11' + os: 'macos-12' cache-name: ios-arm64 # Linux @@ -108,7 +108,7 @@ jobs: arch: 'universal' gdnative_flags: 'macos_arch=universal bits=64' sconsflags: '' - os: 'macos-11' + os: 'macos-12' cache-name: macos-universal # Windows diff --git a/tools/cmake.py b/tools/cmake.py index 2911011..3ab7921 100644 --- a/tools/cmake.py +++ b/tools/cmake.py @@ -49,10 +49,9 @@ def cmake_default_flags(env): config["CMAKE_OSX_ARCHITECTURES"] = '"x86_64;arm64"' else: config["CMAKE_OSX_ARCHITECTURES"] = env["arch"] - if env["macos_deployment_target"] != "default": + if env.get("macos_deployment_target", "default") != "default": config["CMAKE_OSX_DEPLOYMENT_TARGET"] = env["macos_deployment_target"] - - if env["platform"] == "macos" and sys.platform != "darwin" and "OSXCROSS_ROOT" in os.environ: + if sys.platform != "darwin" and "OSXCROSS_ROOT" in os.environ: config["CMAKE_AR"] = env["AR"] config["CMAKE_RANLIB"] = env["RANLIB"] if env["arch"] == "universal": diff --git a/tools/openssl.py b/tools/openssl.py index 7b18210..52a37d0 100644 --- a/tools/openssl.py +++ b/tools/openssl.py @@ -79,7 +79,15 @@ def ssl_platform_flags(env): if env.get("android_api_level", ""): api = int(env["android_api_level"]) args.append("-D__ANDROID_API__=%s" % api) + elif env["platform"] == "ios": + if env.get("ios_min_version", "default") != "default": + if env.get("ios_simulator", False): + args.append("-mios-simulator-version-min=%s" % env["ios_min_version"]) + else: + args.append("-miphoneos-version-min=%s" % env["ios_min_version"]) elif env["platform"] == "macos": + if env.get("macos_deployment_target", "default") != "default": + args.append("-mmacosx-version-min=%s" % env["macos_deployment_target"]) # OSXCross toolchain setup. if sys.platform != "darwin" and "OSXCROSS_ROOT" in os.environ: for k in ["CC", "CXX", "AR", "AS", "RANLIB"]: -- cgit v1.2.3