diff options
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtBaseGlobalTargets.cmake | 6 | ||||
-rw-r--r-- | cmake/QtBuild.cmake | 2 | ||||
-rw-r--r-- | cmake/QtConfig.cmake.in | 13 | ||||
-rw-r--r-- | cmake/QtModuleConfig.cmake.in | 14 | ||||
-rw-r--r-- | cmake/QtModuleToolsConfig.cmake.in | 12 | ||||
-rw-r--r-- | cmake/QtPluginConfig.cmake.in | 12 |
6 files changed, 39 insertions, 20 deletions
diff --git a/cmake/QtBaseGlobalTargets.cmake b/cmake/QtBaseGlobalTargets.cmake index 7eaa8d3cb0..bd2a8a7ba3 100644 --- a/cmake/QtBaseGlobalTargets.cmake +++ b/cmake/QtBaseGlobalTargets.cmake @@ -121,6 +121,12 @@ qt_copy_or_install(FILES cmake/QtPluginDependencies.cmake.in DESTINATION "${__GlobalConfig_install_dir}" ) +if(QT_WILL_INSTALL) + # NOTE: QtFeature.cmake is included by the Qt module config files unconditionally + # In a prefix build, QtFeature.cmake is not copied to the build dir by default + # Thus do it explicitly in that case so we can use the module config files in the examples + file(COPY cmake/QtFeature.cmake DESTINATION "${__GlobalConfig_install_dir}") +endif() # TODO: Check whether this is the right place to install these diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index 3b2079fbdf..664d176589 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -1232,7 +1232,7 @@ set(QT_CMAKE_EXPORT_NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE})") DESTINATION "${config_install_dir}" COMPONENT Devel ) - qt_non_prefix_copy(COPY ${extra_cmake_files} DESTINATION "${config_install_dir}") + file(COPY ${extra_cmake_files} DESTINATION "${config_build_dir}") set(exported_targets ${target} ${target_private}) set(export_name "${INSTALL_CMAKE_NAMESPACE}${target}Targets") diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in index db9ac360b5..0ea33214eb 100644 --- a/cmake/QtConfig.cmake.in +++ b/cmake/QtConfig.cmake.in @@ -7,9 +7,16 @@ endif() get_filename_component(_qt_cmake_dir "${CMAKE_CURRENT_LIST_DIR}/.." ABSOLUTE) -include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Targets.cmake") - -include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@VersionlessTargets.cmake") +if (NOT QT_NO_CREATE_TARGETS) + include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@Targets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@VersionlessTargets.cmake") +else() + # For examples using `find_package(...)` inside their CMakeLists.txt files: + # Make CMake's AUTOGEN detect this Qt version properly + set_directory_properties(PROPERTIES + QT_VERSION_MAJOR @PROJECT_VERSION_MAJOR@ + QT_VERSION_MINOR @PROJECT_VERSION_MINOR@) +endif() # if (NOT @INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS) # set(@INSTALL_CMAKE_NAMESPACE@_NOT_FOUND_MESSAGE "The Qt package requires at least one component") diff --git a/cmake/QtModuleConfig.cmake.in b/cmake/QtModuleConfig.cmake.in index 7c6c6545de..fcf5ba4644 100644 --- a/cmake/QtModuleConfig.cmake.in +++ b/cmake/QtModuleConfig.cmake.in @@ -9,14 +9,16 @@ get_filename_component(_import_prefix "${_import_prefix}" REALPATH) @extra_cmake_code@ # Extra cmake code end -# Find required dependencies, if any. -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") +if (NOT QT_NO_CREATE_TARGETS) + # Find required dependencies, if any. + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") + endif() + + include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Targets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@VersionlessTargets.cmake") endif() -include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Targets.cmake") - -include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@VersionlessTargets.cmake") foreach(extra_cmake_include @extra_cmake_includes@) include("${CMAKE_CURRENT_LIST_DIR}/${extra_cmake_include}") endforeach() diff --git a/cmake/QtModuleToolsConfig.cmake.in b/cmake/QtModuleToolsConfig.cmake.in index afc6de5b19..6d7ff9c8fa 100644 --- a/cmake/QtModuleToolsConfig.cmake.in +++ b/cmake/QtModuleToolsConfig.cmake.in @@ -2,11 +2,13 @@ include(CMakeFindDependencyMacro) -# Find required dependencies, if any. -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") -endif() +if (NOT QT_NO_CREATE_TARGETS) + # Find required dependencies, if any. + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Dependencies.cmake") + endif() -include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Targets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/@INSTALL_CMAKE_NAMESPACE@@target@Targets.cmake") +endif() @extra_cmake_statements@ diff --git a/cmake/QtPluginConfig.cmake.in b/cmake/QtPluginConfig.cmake.in index b212d08764..43b5b4d617 100644 --- a/cmake/QtPluginConfig.cmake.in +++ b/cmake/QtPluginConfig.cmake.in @@ -5,9 +5,11 @@ include(CMakeFindDependencyMacro) get_filename_component(_import_prefix "${CMAKE_CURRENT_LIST_FILE}" PATH) get_filename_component(_import_prefix "${_import_prefix}" REALPATH) -# Find required dependencies, if any. -if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@target@Dependencies.cmake") - include("${CMAKE_CURRENT_LIST_DIR}/@target@Dependencies.cmake") -endif() +if (NOT QT_NO_CREATE_TARGETS) + # Find required dependencies, if any. + if(EXISTS "${CMAKE_CURRENT_LIST_DIR}/@target@Dependencies.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/@target@Dependencies.cmake") + endif() -include("${CMAKE_CURRENT_LIST_DIR}/@target@Targets.cmake") + include("${CMAKE_CURRENT_LIST_DIR}/@target@Targets.cmake") +endif() |