diff options
Diffstat (limited to 'mkspecs/features')
-rw-r--r-- | mkspecs/features/create_cmake.prf | 54 | ||||
-rw-r--r-- | mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in | 4 |
2 files changed, 30 insertions, 28 deletions
diff --git a/mkspecs/features/create_cmake.prf b/mkspecs/features/create_cmake.prf index 2dcb8da063..59c3fafac3 100644 --- a/mkspecs/features/create_cmake.prf +++ b/mkspecs/features/create_cmake.prf @@ -11,12 +11,6 @@ load(cmake_functions) -CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE}) - -CMAKE_MODULE_DEPS = $$cmakeModuleList($$sort_depends(QT.$${MODULE}.depends, QT.)) -CMAKE_PARTIAL_MODULE_DEPS = $$replace(CMAKE_MODULE_DEPS, ";", ";Qt5::") -!isEmpty(CMAKE_PARTIAL_MODULE_DEPS):CMAKE_QT5_MODULE_DEPS = "Qt5::$${CMAKE_PARTIAL_MODULE_DEPS}" - # Several distros (ArchLinux, Fedora) have in the past installed libraries # in /lib(64)?, but are now moving to install libraries in /usr/lib(64)?/. # The /lib paths are made symlinks to the /usr/lib paths. If someone searching @@ -68,10 +62,37 @@ contains(CMAKE_BIN_DIR, "^\\.\\./.*") { static|staticlib:CMAKE_STATIC_TYPE = true +CMAKE_DEBUG_TYPE = +CMAKE_RELEASE_TYPE = + +# Requirements: +# * If Qt is configured with -debug, we're creating debug libraries and not +# release libraries, regardless of whether we're on a platform where +# debug_and_release is true. +# * If Qt is configured with -release, we're creating release libraries and not +# debug libraries, regardless of whether we're on a platform where +# debug_and_release is true. +# * If Qt is configured with neither -debug nor -release, and we are on a +# platform where debug_and_release is true, we're creating both +# debug and release libraries. +# * If Qt is configured with -debug on a platform where debug_and_release is +# true, and 'make release' is subsequently invoked, CMake is only aware of +# the debug libraries at build time. + +equals(QMAKE_HOST.os, Windows): CMAKE_BIN_SUFFIX = ".exe" +if(build_all|CONFIG(debug, debug|release)): CMAKE_DEBUG_TYPE = debug +if(build_all|CONFIG(release, debug|release)): CMAKE_RELEASE_TYPE = release + unix:contains(QT_CONFIG, reduce_relocations):CMAKE_ADD_FPIE_FLAGS = "true" CMAKE_MKSPEC = $$[QMAKE_XSPEC] +CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE}) + +CMAKE_MODULE_DEPS = $$cmakeModuleList($$sort_depends(QT.$${MODULE}.depends, QT.)) +CMAKE_PARTIAL_MODULE_DEPS = $$replace(CMAKE_MODULE_DEPS, ";", ";Qt5::") +!isEmpty(CMAKE_PARTIAL_MODULE_DEPS):CMAKE_QT5_MODULE_DEPS = "Qt5::$${CMAKE_PARTIAL_MODULE_DEPS}" + CMAKE_QT_STEM = Qt$$eval(QT.$${MODULE}.MAJOR_VERSION)$${CMAKE_MODULE_NAME}$${QT_LIBINFIX} mac { @@ -142,27 +163,6 @@ mac { } } -CMAKE_DEBUG_TYPE = -CMAKE_RELEASE_TYPE = - -# Requirements: -# * If Qt is configured with -debug, we're creating debug libraries and not -# release libraries, regardless of whether we're on a platform where -# debug_and_release is true. -# * If Qt is configured with -release, we're creating release libraries and not -# debug libraries, regardless of whether we're on a platform where -# debug_and_release is true. -# * If Qt is configured with neither -debug nor -release, and we are on a -# platform where debug_and_release is true, we're creating both -# debug and release libraries. -# * If Qt is configured with -debug on a platform where debug_and_release is -# true, and 'make release' is subsequently invoked, CMake is only aware of -# the debug libraries at build time. - -equals(QMAKE_HOST.os, Windows): CMAKE_BIN_SUFFIX = ".exe" -if (build_all|CONFIG(debug, debug|release)):CMAKE_DEBUG_TYPE = debug -if (build_all|CONFIG(release, debug|release)):CMAKE_RELEASE_TYPE = release - INSTALLS += cmake_qt5_module_files cmake_config_file.input = $$PWD/data/cmake/Qt5BasicConfig.cmake.in diff --git a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in index c4b58fe7d7..2ffb980156 100644 --- a/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in +++ b/mkspecs/features/data/cmake/Qt5BasicConfig.cmake.in @@ -57,11 +57,13 @@ macro(_populate_$${CMAKE_MODULE_NAME}_target_properties Configuration LIB_LOCATI !!ENDIF _qt5_$${CMAKE_MODULE_NAME}_check_file_exists(${imported_location}) set_target_properties(Qt5::$${CMAKE_MODULE_NAME} PROPERTIES - \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" + \"INTERFACE_LINK_LIBRARIES\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" \"IMPORTED_LOCATION_${Configuration}\" ${imported_location} !!IF !isEmpty(CMAKE_LIB_SONAME) \"IMPORTED_SONAME_${Configuration}\" \"$${CMAKE_LIB_SONAME}\" !!ENDIF + # For backward compatibility with CMake < 2.8.12 + \"IMPORTED_LINK_INTERFACE_LIBRARIES_${Configuration}\" \"${_Qt5$${CMAKE_MODULE_NAME}_LIB_DEPENDENCIES}\" ) !!IF !isEmpty(CMAKE_WINDOWS_BUILD) |