From 10f8ebe3e2075a02d910f2d02cc0e81abe727c2f Mon Sep 17 00:00:00 2001 From: Alexandru Croitor Date: Fri, 19 Jun 2020 14:49:52 +0200 Subject: CMake: Provide the minimum darwin deployment target needed by Qt This is useful information for people that want to use Qt in their project with CMake. Unfortunately there is no good way to actually set CMAKE_OSX_DEPLOYMENT_TARGET automatically with the Qt provided value, because it needs to be set before the first project() call in a CMake project. This means it can be set either on the command line, or manually by the application developer in CMakeLists.txt before the first project() call or via a CMake toolchain. In Qt 6 we provide a CMake toolchain file with the deployment target already set, so if the application developer uses the Qt generated toolchain, they will get the value automatically. In Qt 5 the value can only be read for informational purposes only, from the QT_DARWIN_MIN_DEPLOYMENT_TARGET property on the Qt5::Core target. The same property is set in Qt 6 for compatibility resons. Task-number: QTBUG-76167 Task-number: QTCREATORBUG-22466 Pick-to: 5.15 Change-Id: Id61d70dc9a1b7a0e7cdb90b1e679171ea178126b Reviewed-by: Joerg Bornemann Reviewed-by: Eike Ziller --- src/corelib/CMakeLists.txt | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/corelib/CMakeLists.txt b/src/corelib/CMakeLists.txt index 2b1cd8c837..27cb30ff03 100644 --- a/src/corelib/CMakeLists.txt +++ b/src/corelib/CMakeLists.txt @@ -1283,6 +1283,14 @@ if(WIN32) target_link_libraries(Core INTERFACE $<$:Qt::WinMain>) qt_record_extra_qt_package_dependency(Core WinMain "${PROJECT_VERSION}") endif() + +# Record darwin minimum deployment target. +if(APPLE AND CMAKE_OSX_DEPLOYMENT_TARGET) + set_property(TARGET Core PROPERTY + QT_DARWIN_MIN_DEPLOYMENT_TARGET "${CMAKE_OSX_DEPLOYMENT_TARGET}") + set_property(TARGET Core APPEND PROPERTY + EXPORT_PROPERTIES "QT_DARWIN_MIN_DEPLOYMENT_TARGET") +endif() # special case end qt_create_tracepoints(Core qtcore.tracepoints) -- cgit v1.2.3