diff --git a/CMakeLists.txt b/CMakeLists.txt index 48b116e2b7..b572d53071 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -10,6 +10,7 @@ cmake_minimum_required(VERSION 3.22.1) # ================================================================================================== # Toolchain configuration # ================================================================================================== +# On iOS, the deployment target is set inside third_party/clang/ios.cmake if (APPLE AND NOT IOS) # This must be set before project() is called set(CMAKE_OSX_DEPLOYMENT_TARGET 10.15 CACHE STRING "") @@ -586,7 +587,7 @@ if (FILAMENT_SUPPORTS_METAL) endif() # Building filamat increases build times and isn't required for web, so turn it off by default. -if (NOT WEBGL AND NOT IOS) +if (NOT WEBGL) option(FILAMENT_BUILD_FILAMAT "Build filamat and JNI buildings" ON) else() option(FILAMENT_BUILD_FILAMAT "Build filamat and JNI buildings" OFF) diff --git a/libs/filamat/CMakeLists.txt b/libs/filamat/CMakeLists.txt index 58f8f6ab67..a630c14030 100644 --- a/libs/filamat/CMakeLists.txt +++ b/libs/filamat/CMakeLists.txt @@ -1,4 +1,7 @@ cmake_minimum_required(VERSION 3.19) + +include(${EXTERNAL}/clang/usage_ios_13.cmake) + project(filamat) set(TARGET filamat) diff --git a/third_party/clang/iOS.cmake b/third_party/clang/iOS.cmake index a935c08f66..744948943c 100644 --- a/third_party/clang/iOS.cmake +++ b/third_party/clang/iOS.cmake @@ -103,8 +103,4 @@ IF (NOT DEFINED IOS_MIN_TARGET) OUTPUT_STRIP_TRAILING_WHITESPACE) ENDIF() -SET(IOS_COMMON_FLAGS "-m${PLATFORM_FLAG_NAME}-version-min=${IOS_MIN_TARGET}") - -SET(CMAKE_C_FLAGS_INIT "${IOS_COMMON_FLAGS}") -SET(CMAKE_CXX_FLAGS_INIT "${IOS_COMMON_FLAGS}") -SET(CMAKE_ASM_FLAGS_INIT "${IOS_COMMON_FLAGS}") +set(CMAKE_OSX_DEPLOYMENT_TARGET ${IOS_MIN_TARGET} CACHE STRING "Minimum iOS version") diff --git a/third_party/clang/usage_ios_13.cmake b/third_party/clang/usage_ios_13.cmake new file mode 100644 index 0000000000..322126bfca --- /dev/null +++ b/third_party/clang/usage_ios_13.cmake @@ -0,0 +1,5 @@ +# This file is included by filamat and glslang because glslang (and thus filamat) require +# iOS 13.0+ whereas the rest of Filament targets iOS 11.0. +if(IOS) + set(CMAKE_OSX_DEPLOYMENT_TARGET "13.0") +endif() diff --git a/third_party/glslang/tnt/CMakeLists.txt b/third_party/glslang/tnt/CMakeLists.txt index 9cb2749d76..5edd6a66f6 100644 --- a/third_party/glslang/tnt/CMakeLists.txt +++ b/third_party/glslang/tnt/CMakeLists.txt @@ -1,6 +1,8 @@ cmake_minimum_required(VERSION 3.19) set_property(GLOBAL PROPERTY USE_FOLDERS ON) +include(${EXTERNAL}/clang/usage_ios_13.cmake) + # Adhere to GNU filesystem layout conventions include(GNUInstallDirs)