summaryrefslogtreecommitdiffstats
path: root/cmake
diff options
context:
space:
mode:
authorAlexandru Croitor <alexandru.croitor@qt.io>2020-03-06 13:59:29 +0100
committerAlexandru Croitor <alexandru.croitor@qt.io>2020-03-06 17:12:40 +0100
commit627351f561bcdb8234ccf62ea2b19178eb6fa033 (patch)
treecd0d379e04f846a314a1e8f270b935d80fe31e7f /cmake
parent344eb0d29d75ad83d21d7493252e32876f9fd3f1 (diff)
CMake: Set minimum deployment target for darwin platforms
Same value as QMAKE_IOS_DEPLOYMENT_TARGET in mkspecs/macx-ios-clang/qmake.conf, etc. Change-Id: I1f6a07d73c2126d0286e8d26f7e61a690607c8ce Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io> Reviewed-by: Leander Beernaert <leander.beernaert@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r--cmake/QtAutoDetect.cmake30
1 files changed, 22 insertions, 8 deletions
diff --git a/cmake/QtAutoDetect.cmake b/cmake/QtAutoDetect.cmake
index 0929989b18..b776f109b4 100644
--- a/cmake/QtAutoDetect.cmake
+++ b/cmake/QtAutoDetect.cmake
@@ -175,16 +175,30 @@ endfunction()
function(qt_auto_detect_darwin)
if(APPLE)
- # If no CMAKE_OSX_DEPLOYMENT_TARGET is provided, default
- # to a value that we choose. This replicates the behavior
- # in mkspecs/common/macx.conf where
+ # If no CMAKE_OSX_DEPLOYMENT_TARGET is provided, default to a value that Qt defines.
+ # This replicates the behavior in mkspecs/common/macx.conf where
# QMAKE_MACOSX_DEPLOYMENT_TARGET is set.
- # Currently only set for macOS, and not the mobile platforms.
- if(NOT CMAKE_OSX_DEPLOYMENT_TARGET AND NOT CMAKE_SYSTEM_NAME)
- set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14" CACHE STRING
- "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.")
+ set(description
+ "Minimum OS X version to target for deployment (at runtime); newer APIs weak linked. Set to empty string for default value.")
+ if(NOT CMAKE_OSX_DEPLOYMENT_TARGET)
+ if(NOT CMAKE_SYSTEM_NAME)
+ # macOS
+ set(version "10.14")
+ elseif(CMAKE_SYSTEM_NAME STREQUAL iOS)
+ set(version "12.0")
+ elseif(CMAKE_SYSTEM_NAME STREQUAL watchOS)
+ set(version "5.0")
+ elseif(CMAKE_SYSTEM_NAME STREQUAL tvOS)
+ set(version "12.0")
+ endif()
+ if(version)
+ set(CMAKE_OSX_DEPLOYMENT_TARGET "${version}" CACHE STRING "${description}")
+ endif()
+ endif()
+ if(CMAKE_OSX_DEPLOYMENT_TARGET)
+ message(STATUS
+ "CMAKE_OSX_DEPLOYMENT_TARGET set to: \"${CMAKE_OSX_DEPLOYMENT_TARGET}\".")
endif()
- message(STATUS "CMAKE_OSX_DEPLOYMENT_TARGET set to: \"${CMAKE_OSX_DEPLOYMENT_TARGET}\".")
endif()
endfunction()