CMake: Pass Qt6_FIND_VERSION in Qt6Config when looking for components
Pass Qt6_FIND_VERSION to components when the
find_package(Qt6 ${ver} COMPONENTS Foo) signature is used.
Create a ConfigVersion file for BuildInternals, so that BuildInternals
passes the version check.
Fix qt_configure_file to look in the _qt_6_config_cmake_dir folder for
the template file rather than Qt6_DIR, because Qt6_DIR might be
accidentally unset after a failed find_package(Qt6) call and the error
is not helpful then.
We already pass versions everywhere else when looking for
dependencies, like in ModuleDependencies.cmake.in,
PluginDependencies.cmake.in, ModuleToolsDependencies.cmake.in.
Pick-to: 6.2
Fixes: QTBUG-91737
Change-Id: Ief1da0c6f239c935385e7ce662951e85ccfdf130
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Joerg Bornemann <joerg.bornemann@qt.io>
bb10
parent
6b6d42f6b8
commit
6544312869
|
|
@ -34,8 +34,15 @@ configure_file(
|
|||
@ONLY
|
||||
)
|
||||
|
||||
write_basic_package_version_file(
|
||||
"${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfigVersion.cmake"
|
||||
VERSION ${PROJECT_VERSION}
|
||||
COMPATIBILITY AnyNewerVersion
|
||||
)
|
||||
|
||||
qt_install(FILES
|
||||
"${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfig.cmake"
|
||||
"${__build_internals_build_dir}/${INSTALL_CMAKE_NAMESPACE}BuildInternalsConfigVersion.cmake"
|
||||
"${__build_internals_build_dir}/QtBuildInternalsExtra.cmake"
|
||||
DESTINATION "${__build_internals_install_dir}"
|
||||
COMPONENT Devel
|
||||
|
|
|
|||
|
|
@ -15,12 +15,12 @@ function(qt_configure_file)
|
|||
if(arg_CONTENT)
|
||||
set(template_name "QtFileConfigure.txt.in")
|
||||
# When building qtbase, use the source template file.
|
||||
# Otherwise use the installed file.
|
||||
# Otherwise use the installed file (basically wherever Qt6 package is found).
|
||||
# This should work for non-prefix and superbuilds as well.
|
||||
if(QtBase_SOURCE_DIR)
|
||||
set(input_file "${QtBase_SOURCE_DIR}/cmake/${template_name}")
|
||||
else()
|
||||
set(input_file "${Qt6_DIR}/${template_name}")
|
||||
set(input_file "${_qt_6_config_cmake_dir}/${template_name}")
|
||||
endif()
|
||||
set(__qt_file_configure_content "${arg_CONTENT}")
|
||||
elseif(arg_INPUT)
|
||||
|
|
|
|||
|
|
@ -150,6 +150,7 @@ foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS})
|
|||
endif()
|
||||
|
||||
find_package(@INSTALL_CMAKE_NAMESPACE@${module}
|
||||
${@INSTALL_CMAKE_NAMESPACE@_FIND_VERSION}
|
||||
${_@INSTALL_CMAKE_NAMESPACE@_FIND_PARTS_QUIET}
|
||||
PATHS
|
||||
${_qt_cmake_dir}
|
||||
|
|
|
|||
Loading…
Reference in New Issue