Generate the directory for the mkspec include in a helper file.
The cmake variable for the mkspec dir must specify the source location if used in the build dir, and must specify the install location if used in the install dir. Change-Id: I2fee8cd0c7198e9fc5cbb63972e20c75636672d1 Reviewed-by: Thorbjørn Lund Martsum <tmartsum@gmail.com> Reviewed-by: Stephen Kelly <stephen.kelly@kdab.com>
This commit is contained in:
parent
75e9c7d6bc
commit
6fa9394c81
@ -63,3 +63,8 @@ defineReplace(cmakeProcessLibs) {
|
||||
}
|
||||
return ($$join(out, ";"))
|
||||
}
|
||||
|
||||
defineReplace(cmakeRelativePath) {
|
||||
path = $$relative_path($$1, $$2)
|
||||
return($$replace(path, ([^/])$, \\1/))
|
||||
}
|
||||
|
@ -11,11 +11,6 @@
|
||||
|
||||
load(cmake_functions)
|
||||
|
||||
defineReplace(cmakeRelativePath) {
|
||||
path = $$relative_path($$1, $$2)
|
||||
return($$replace(path, ([^/])$, \\1/))
|
||||
}
|
||||
|
||||
CMAKE_MODULE_NAME = $$cmakeModuleName($${MODULE})
|
||||
|
||||
CMAKE_MODULE_DEPS = $$cmakeModuleList($$sort_depends(QT.$${MODULE}.depends, QT.))
|
||||
@ -60,12 +55,6 @@ contains(CMAKE_BIN_DIR, "^\\.\\./.*") {
|
||||
CMAKE_BIN_DIR_IS_ABSOLUTE = True
|
||||
}
|
||||
|
||||
CMAKE_HOST_DATA_DIR = $$cmakeRelativePath($$[QT_HOST_DATA], $$[QT_INSTALL_PREFIX])
|
||||
contains(CMAKE_HOST_DATA_DIR, "^\\.\\./.*") {
|
||||
CMAKE_HOST_DATA_DIR = $$[QT_HOST_DATA]/
|
||||
CMAKE_HOST_DATA_DIR_IS_ABSOLUTE = True
|
||||
}
|
||||
|
||||
static|staticlib:CMAKE_STATIC_TYPE = true
|
||||
|
||||
unix:contains(QT_CONFIG, reduce_relocations):CMAKE_ADD_FPIE_FLAGS = "true"
|
||||
|
@ -55,11 +55,8 @@ set_property(TARGET Qt5::Core APPEND PROPERTY
|
||||
COMPATIBLE_INTERFACE_STRING QT_MAJOR_VERSION
|
||||
)
|
||||
|
||||
!!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
|
||||
set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
|
||||
!!ELSE
|
||||
set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
|
||||
!!ENDIF
|
||||
include(\"${CMAKE_CURRENT_LIST_DIR}/Qt5CoreConfigExtrasMkspecDir.cmake\")
|
||||
|
||||
foreach(_dir ${_qt5_corelib_extra_includes})
|
||||
_qt5_Core_check_file_exists(${_dir})
|
||||
endforeach()
|
||||
|
6
src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
Normal file
6
src/corelib/Qt5CoreConfigExtrasMkspecDir.cmake.in
Normal file
@ -0,0 +1,6 @@
|
||||
|
||||
!!IF isEmpty(CMAKE_HOST_DATA_DIR_IS_ABSOLUTE)
|
||||
set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_HOST_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
|
||||
!!ELSE
|
||||
set(_qt5_corelib_extra_includes \"$${CMAKE_HOST_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
|
||||
!!ENDIF
|
@ -0,0 +1,6 @@
|
||||
|
||||
!!IF isEmpty(CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE)
|
||||
set(_qt5_corelib_extra_includes \"${_qt5Core_install_prefix}/$${CMAKE_INSTALL_DATA_DIR}/mkspecs/$${CMAKE_MKSPEC}\")
|
||||
!!ELSE
|
||||
set(_qt5_corelib_extra_includes \"$${CMAKE_INSTALL_DATA_DIR}mkspecs/$${CMAKE_MKSPEC}\")
|
||||
!!ENDIF
|
@ -77,12 +77,32 @@ cmake_umbrella_config_file.output = $$DESTDIR/cmake/Qt5/Qt5Config.cmake
|
||||
cmake_umbrella_config_version_file.input = $$PWD/../../mkspecs/features/data/cmake/Qt5ConfigVersion.cmake.in
|
||||
cmake_umbrella_config_version_file.output = $$DESTDIR/cmake/Qt5/Qt5ConfigVersion.cmake
|
||||
|
||||
load(cmake_functions)
|
||||
|
||||
CMAKE_HOST_DATA_DIR = $$cmakeRelativePath($$[QT_HOST_DATA/src], $$[QT_INSTALL_PREFIX])
|
||||
contains(CMAKE_HOST_DATA_DIR, "^\\.\\./.*"):!isEmpty(CMAKE_HOST_DATA_DIR) {
|
||||
CMAKE_HOST_DATA_DIR = $$[QT_HOST_DATA/src]/
|
||||
CMAKE_HOST_DATA_DIR_IS_ABSOLUTE = True
|
||||
}
|
||||
|
||||
cmake_extras_mkspec_dir.input = $$PWD/Qt5CoreConfigExtrasMkspecDir.cmake.in
|
||||
cmake_extras_mkspec_dir.output = $$DESTDIR/cmake/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake
|
||||
|
||||
CMAKE_INSTALL_DATA_DIR = $$cmakeRelativePath($$[QT_HOST_DATA], $$[QT_INSTALL_PREFIX])
|
||||
contains(CMAKE_INSTALL_DATA_DIR, "^\\.\\./.*"):!isEmpty(CMAKE_INSTALL_DATA_DIR) {
|
||||
CMAKE_INSTALL_DATA_DIR = $$[QT_HOST_DATA]/
|
||||
CMAKE_INSTALL_DATA_DIR_IS_ABSOLUTE = True
|
||||
}
|
||||
|
||||
cmake_extras_mkspec_dir_for_install.input = $$PWD/Qt5CoreConfigExtrasMkspecDirForInstall.cmake.in
|
||||
cmake_extras_mkspec_dir_for_install.output = $$DESTDIR/cmake/install/Qt5Core/Qt5CoreConfigExtrasMkspecDir.cmake
|
||||
|
||||
cmake_qt5_umbrella_module_files.files = $$cmake_umbrella_config_file.output $$cmake_umbrella_config_version_file.output
|
||||
cmake_qt5_umbrella_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5
|
||||
|
||||
QMAKE_SUBSTITUTES += ctest_macros_file cmake_umbrella_config_file cmake_umbrella_config_version_file
|
||||
QMAKE_SUBSTITUTES += ctest_macros_file cmake_umbrella_config_file cmake_umbrella_config_version_file cmake_extras_mkspec_dir cmake_extras_mkspec_dir_for_install
|
||||
|
||||
ctest_qt5_module_files.files += $$ctest_macros_file.output
|
||||
ctest_qt5_module_files.files += $$ctest_macros_file.output $$cmake_extras_mkspec_dir_for_install.output
|
||||
|
||||
ctest_qt5_module_files.path = $$[QT_INSTALL_LIBS]/cmake/Qt5Core
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user