diff options
-rw-r--r-- | cmake/QtBaseGlobalTargets.cmake | 2 | ||||
-rw-r--r-- | cmake/QtBuild.cmake | 28 | ||||
-rw-r--r-- | cmake/QtConfig.cmake.in | 1 | ||||
-rw-r--r-- | cmake/QtFeature.cmake | 4 | ||||
-rw-r--r-- | cmake/QtModuleConfig.cmake.in | 2 | ||||
-rw-r--r-- | src/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/corelib/Qt5CoreMacros.cmake | 10 |
7 files changed, 26 insertions, 23 deletions
diff --git a/cmake/QtBaseGlobalTargets.cmake b/cmake/QtBaseGlobalTargets.cmake index fdc5271c04..ab96f48ec8 100644 --- a/cmake/QtBaseGlobalTargets.cmake +++ b/cmake/QtBaseGlobalTargets.cmake @@ -59,7 +59,7 @@ target_include_directories(GlobalConfigPrivate INTERFACE add_library(Qt::GlobalConfigPrivate ALIAS GlobalConfigPrivate) install(TARGETS Platform GlobalConfig GlobalConfigPrivate EXPORT "${INSTALL_CMAKE_NAMESPACE}Targets") -install(EXPORT "${INSTALL_CMAKE_NAMESPACE}Targets" NAMESPACE Qt:: DESTINATION "${config_install_dir}") +install(EXPORT "${INSTALL_CMAKE_NAMESPACE}Targets" NAMESPACE ${INSTALL_CMAKE_EXPORT_NAMESPACE}:: DESTINATION "${config_install_dir}") ## Install some QtBase specific CMake files: install(FILES diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index a340ca0d6a..6a92f573b1 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -38,6 +38,8 @@ set(INSTALL_TESTSDIR "tests" CACHE PATH "Tests [PREFIX/tests]") set(INSTALL_CMAKE_NAMESPACE "Qt${PROJECT_VERSION_MAJOR}" CACHE STRING "CMake namespace [Qt${PROJECT_VERSION_MAJOR}]") +set(QT_CMAKE_EXPORT_NAMESPACE "Qt${PROJECT_VERSION_MAJOR}" CACHE STRING "CMake namespace used when exporting targets [Qt${PROJECT_VERSION_MAJOR}]") + # Platform define path, etc. if(WIN32) set(QT_DEFAULT_PLATFORM_DEFINITIONS UNICODE _UNICODE WIN32 _ENABLE_EXTENDED_ALIGNED_STORAGE) @@ -153,7 +155,7 @@ endfunction() function(qt_ensure_sync_qt) qt_ensure_perl() if(NOT DEFINED QT_SYNCQT) - get_target_property(mocPath "Qt::moc" LOCATION) + get_target_property(mocPath "${QT_CMAKE_EXPORT_NAMESPACE}::moc" LOCATION) get_filename_component(binDirectory "${mocPath}" DIRECTORY) # We could put this into the cache, but on the other hand there's no real need to # pollute the app's cache with this. For the first qtbase build, the variable is @@ -286,11 +288,11 @@ function(extend_target target) set_target_properties("${target}" PROPERTIES AUTOMOC ON - AUTOMOC_EXECUTABLE "$<TARGET_FILE:Qt::moc>" + AUTOMOC_EXECUTABLE "$<TARGET_FILE:${QT_CMAKE_EXPORT_NAMESPACE}::moc>" AUTORCC ON - AUTORCC_EXECUTABLE "$<TARGET_FILE:Qt::rcc>" + AUTORCC_EXECUTABLE "$<TARGET_FILE:${QT_CMAKE_EXPORT_NAMESPACE}::rcc>" AUTOUIC ON - AUTOUIC_EXECUTABLE "$<TARGET_FILE:Qt::uic>" + AUTOUIC_EXECUTABLE "$<TARGET_FILE:${QT_CMAKE_EXPORT_NAMESPACE}::uic>" ) target_sources("${target}" PRIVATE ${arg_SOURCES} ${dbus_sources}) @@ -525,7 +527,7 @@ function(add_qt_module target) ) set(config_install_dir "${INSTALL_LIBDIR}/cmake/${INSTALL_CMAKE_NAMESPACE}${target}") - install(EXPORT "${module_versioned}Targets" NAMESPACE Qt:: DESTINATION ${config_install_dir}) + install(EXPORT "${module_versioned}Targets" NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE}:: DESTINATION ${config_install_dir}) set(target_deps) foreach(lib ${arg_PUBLIC_LIBRARIES}) @@ -644,7 +646,7 @@ function(add_qt_plugin target) LIBRARY DESTINATION ${INSTALL_PLUGINSDIR}/${arg_TYPE} ARCHIVE DESTINATION ${INSTALL_LIBDIR}/${arg_TYPE} ) - install(EXPORT "${target}Targets" NAMESPACE Qt:: DESTINATION ${INSTALL_LIBDIR}/cmake) + install(EXPORT "${target}Targets" NAMESPACE ${QT_CMAKE_EXPORT_NAMESPACE}:: DESTINATION ${INSTALL_LIBDIR}/cmake) ### fixme: cmake is missing a built-in variable for this. We want to apply it only to modules and plugins # that belong to Qt. @@ -704,7 +706,7 @@ function(add_qt_test name) "${CMAKE_CURRENT_BINARY_DIR}" "${arg_INCLUDE_DIRECTORIES}" DEFINES "${arg_DEFINES}" - LIBRARIES Qt::Core Qt::Test ${arg_LIBRARIES} + LIBRARIES ${QT_CMAKE_EXPORT_NAMESPACE}::Core ${QT_CMAKE_EXPORT_NAMESPACE}::Test ${arg_LIBRARIES} COMPILE_OPTIONS ${arg_COMPILE_OPTIONS} LINK_OPTIONS ${arg_LINK_OPTIONS} MOC_OPTIONS ${arg_MOC_OPTIONS} @@ -732,9 +734,9 @@ function(add_qt_tool name) qt_parse_all_arguments(arg "add_qt_tool" "BOOTSTRAP" "" "${__default_private_args}" ${ARGN}) if (arg_BOOTSTRAP) - set(corelib Qt::Bootstrap) + set(corelib ${QT_CMAKE_EXPORT_NAMESPACE}::Bootstrap) else() - set(corelib Qt::Core) + set(corelib ${QT_CMAKE_EXPORT_NAMESPACE}::Core) endif() add_qt_executable("${name}" OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${INSTALL_BINDIR}" @@ -789,7 +791,7 @@ function(add_qt_resource target resourceName) set(generatedSourceCode "${CMAKE_CURRENT_BINARY_DIR}/qrc_${resourceName}.cpp") add_custom_command(OUTPUT "${generatedSourceCode}" - COMMAND "Qt::rcc" + COMMAND "${QT_CMAKE_EXPORT_NAMESPACE}::rcc" ARGS --name "${resourceName}" --output "${generatedSourceCode}" "${generatedResourceFile}" DEPENDS ${files} @@ -838,8 +840,8 @@ function(qt_manual_moc result) file(GENERATE OUTPUT "${moc_parameters_file}" CONTENT "${moc_parameters}\n") add_custom_command(OUTPUT "${outfile}" - COMMAND Qt::moc "@${moc_parameters_file}" - DEPENDS "${infile}" ${moc_depends} Qt::moc + COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::moc "@${moc_parameters_file}" + DEPENDS "${infile}" ${moc_depends} ${QT_CMAKE_EXPORT_NAMESPACE}::moc WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" VERBATIM) endforeach() set("${result}" ${moc_files} PARENT_SCOPE) @@ -873,7 +875,7 @@ function(qt_create_qdbusxml2cpp_command target infile) set(source_file "${CMAKE_CURRENT_BINARY_DIR}/${file_name}.cpp") add_custom_command(OUTPUT "${header_file}" "${source_file}" - COMMAND Qt::qdbusxml2cpp ${arg_FLAGS} "${option}" "${header_file}:${source_file}" "${infile}" + COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::qdbusxml2cpp ${arg_FLAGS} "${option}" "${header_file}:${source_file}" "${infile}" DEPENDS "${infile}" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" VERBATIM) diff --git a/cmake/QtConfig.cmake.in b/cmake/QtConfig.cmake.in index a65f7bd2be..69586fe52e 100644 --- a/cmake/QtConfig.cmake.in +++ b/cmake/QtConfig.cmake.in @@ -36,6 +36,7 @@ foreach(module ${@INSTALL_CMAKE_NAMESPACE@_FIND_COMPONENTS}) endforeach() set(QT_BUILD_SHARED_LIBS @BUILD_SHARED_LIBS@) +set(QT_CMAKE_EXPORT_NAMESPACE @QT_CMAKE_EXPORT_NAMESPACE@) if (_Qt_NOTFOUND_MESSAGE) set(@INSTALL_CMAKE_NAMESPACE@_NOT_FOUND_MESSAGE "${_Qt_NOTFOUND_MESSAGE}") diff --git a/cmake/QtFeature.cmake b/cmake/QtFeature.cmake index e57d541898..79663c17a3 100644 --- a/cmake/QtFeature.cmake +++ b/cmake/QtFeature.cmake @@ -409,8 +409,8 @@ function(qt_config_compile_test_x86simd extension label) endfunction() function(qt_make_features_available target) - if(NOT "${target}" MATCHES "^Qt::[a-zA-z][a-zA-Z0-9_]*$") - message(FATAL_ERROR "${target} does not match Qt::[a-zA-z][a-zA-Z0-9_]*. INVALID NAME.") + if(NOT "${target}" MATCHES "^${QT_CMAKE_EXPORT_NAMESPACE}::[a-zA-z][a-zA-Z0-9_]*$") + message(FATAL_ERROR "${target} does not match ${QT_CMAKE_EXPORT_NAMESPACE}::[a-zA-z][a-zA-Z0-9_]*. INVALID NAME.") endif() if(NOT TARGET ${target}) message(FATAL_ERROR "${target} not found.") diff --git a/cmake/QtModuleConfig.cmake.in b/cmake/QtModuleConfig.cmake.in index e6a2d33983..f72e29b1da 100644 --- a/cmake/QtModuleConfig.cmake.in +++ b/cmake/QtModuleConfig.cmake.in @@ -31,4 +31,4 @@ endif() include(${_import_prefix}/../@INSTALL_CMAKE_NAMESPACE@/QtFeature.cmake) -qt_make_features_available(Qt::@target@) +qt_make_features_available(@QT_CMAKE_EXPORT_NAMESPACE@::@target@) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index f6720c99bd..551c27b0e7 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -46,7 +46,7 @@ function(find_or_build_bootstrap_names) find_or_build_bootstrap_tool(tracegen) if (_build_tools) - install(EXPORT "Qt${PROJECT_VERSION_MAJOR}ToolsTargets" NAMESPACE "Qt::" DESTINATION "${INSTALL_LIBDIR}/cmake/Qt${PROJECT_VERSION_MAJOR}") + install(EXPORT "Qt${PROJECT_VERSION_MAJOR}ToolsTargets" NAMESPACE "${QT_CMAKE_EXPORT_NAMESPACE}::" DESTINATION "${INSTALL_LIBDIR}/cmake/Qt${PROJECT_VERSION_MAJOR}") endif() endfunction() diff --git a/src/corelib/Qt5CoreMacros.cmake b/src/corelib/Qt5CoreMacros.cmake index 581c99ed58..510bce2be1 100644 --- a/src/corelib/Qt5CoreMacros.cmake +++ b/src/corelib/Qt5CoreMacros.cmake @@ -133,7 +133,7 @@ function(QT5_CREATE_MOC_COMMAND infile outfile moc_flags moc_options moc_target set(_moc_extra_parameters_file @${_moc_parameters_file}) add_custom_command(OUTPUT ${outfile} - COMMAND ${Qt5Core_MOC_EXECUTABLE} ${_moc_extra_parameters_file} + COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::moc ${_moc_extra_parameters_file} DEPENDS ${infile} ${moc_depends} ${_moc_working_dir} VERBATIM) @@ -249,7 +249,7 @@ function(QT5_ADD_BINARY_RESOURCES target ) endforeach() add_custom_command(OUTPUT ${rcc_destination} - COMMAND ${Qt5Core_RCC_EXECUTABLE} + COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::rcc ARGS ${rcc_options} --binary --name ${target} --output ${rcc_destination} ${infiles} DEPENDS ${rc_depends} ${out_depends} ${infiles} VERBATIM) add_custom_target(${target} ALL DEPENDS ${rcc_destination}) @@ -282,7 +282,7 @@ function(QT5_ADD_RESOURCES outfiles ) set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON) add_custom_command(OUTPUT ${outfile} - COMMAND ${Qt5Core_RCC_EXECUTABLE} + COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::rcc ARGS ${rcc_options} --name ${outfilename} --output ${outfile} ${infile} MAIN_DEPENDENCY ${infile} DEPENDS ${_rc_depends} "${out_depends}" VERBATIM) @@ -319,7 +319,7 @@ function(QT5_ADD_BIG_RESOURCES outfiles ) _QT5_PARSE_QRC_FILE(${infile} _out_depends _rc_depends) set_source_files_properties(${infile} PROPERTIES SKIP_AUTORCC ON) add_custom_command(OUTPUT ${tmpoutfile} - COMMAND ${Qt5Core_RCC_EXECUTABLE} ${rcc_options} --name ${outfilename} --pass 1 --output ${tmpoutfile} ${infile} + COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::rcc ${rcc_options} --name ${outfilename} --pass 1 --output ${tmpoutfile} ${infile} DEPENDS ${infile} ${_rc_depends} "${out_depends}" VERBATIM) set_source_files_properties(${tmpoutfile} PROPERTIES SKIP_AUTOMOC ON) set_source_files_properties(${tmpoutfile} PROPERTIES SKIP_AUTOUIC ON) @@ -327,7 +327,7 @@ function(QT5_ADD_BIG_RESOURCES outfiles ) add_library(rcc_object_${outfilename} OBJECT ${tmpoutfile}) add_dependencies(rcc_object_${outfilename} big_resources_${outfilename}) add_custom_command(OUTPUT ${outfile} - COMMAND ${Qt5Core_RCC_EXECUTABLE} + COMMAND ${QT_CMAKE_EXPORT_NAMESPACE}::rcc ARGS ${rcc_options} --name ${outfilename} --pass 2 --temp $<TARGET_OBJECTS:rcc_object_${outfilename}> --output ${outfile} ${infile} DEPENDS rcc_object_${outfilename} VERBATIM) |