From 7b4507d0be28d1258d5569182a03e8ead8620f2d Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 16 Mar 2021 10:19:27 +0100 Subject: [PATCH 1/3] Fix qmake user projects for QT_LIBINFIX builds on Windows/iOS QMake user projects could not be built on Windows or iOS if Qt was configured with QT_LIBINFIX set. The code that generates qt_lib_entrypoint_private.pri file did not take into account the lib infix. Pick-to: 6.1 6.0 Fixes: QTBUG-91511 Change-Id: Ibc40548a269238320f8f89a710d10e7f639246cb Reviewed-by: Alexandru Croitor --- src/entrypoint/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/entrypoint/CMakeLists.txt b/src/entrypoint/CMakeLists.txt index 801691b4e5..5242337ee4 100644 --- a/src/entrypoint/CMakeLists.txt +++ b/src/entrypoint/CMakeLists.txt @@ -94,7 +94,7 @@ if(using_entrypoint_library) set_target_properties(EntryPoint PROPERTIES INTERFACE_QT_MODULE_PRI_EXTRA_CONTENT " QT.entrypoint_implementation.name = QtEntryPointImplementation -QT.entrypoint_implementation.module = Qt6EntryPoint +QT.entrypoint_implementation.module = Qt6EntryPoint${QT_LIBINFIX} QT.entrypoint_implementation.ldflags = ${entrypoint_implementation_ldflags} QT.entrypoint_implementation.libs = $$QT_MODULE_LIB_BASE QT.entrypoint_implementation.module_config = staticlib v2 internal_module From e6cee41c53c4057002b70f26888b2dc40fa15047 Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Mon, 15 Mar 2021 12:21:55 +0100 Subject: [PATCH 2/3] Error out on attempt to configure framework build with lib infix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Setting a lib infix is not supported with framework builds due to the nature framework of include resolution: includes like won't work if the framework is named QtCoreInfix. The combination framework build and lib infix was agreed on to be out of scope in the comments of QTBUG-35604. Pick-to: 6.1 Change-Id: Ib7c6983f2f64ea1a7cfcd56657d31eeab3f55fe3 Reviewed-by: Alexandru Croitor Reviewed-by: Tor Arne Vestbø --- configure.cmake | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/configure.cmake b/configure.cmake index 858f580a0e..26e887c559 100644 --- a/configure.cmake +++ b/configure.cmake @@ -1,5 +1,3 @@ - - #### Inputs @@ -1090,6 +1088,13 @@ qt_configure_add_report_entry( MESSAGE "Command line option -sanitize fuzzer-no-link is only supported with clang compilers." CONDITION QT_FEATURE_sanitize_fuzzer_no_link AND NOT CLANG ) +# special case begin +qt_configure_add_report_entry( + TYPE ERROR + MESSAGE "Setting a library infix is not supported for framework builds." + CONDITION QT_FEATURE_framework AND DEFINED QT_LIBINFIX +) +# special case end qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC) qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC) From 232c70ecc85243205d4cdd62b6d31dcc32dafeba Mon Sep 17 00:00:00 2001 From: Joerg Bornemann Date: Tue, 16 Mar 2021 15:13:15 +0100 Subject: [PATCH 3/3] Fix installation of Find*.cmake files in shadow per-repo builds In shadow per-repo builds we never hit the code that is supposed to install cmake/Find*.cmake files. This caused problems when statically building a Qt repo like qtshadertools against qtimageformats which provides such Find*.cmake files. Fixes: QTBUG-91538 Change-Id: I1147daee817ac71303d93e8bf368b2769afb0bb4 Reviewed-by: Craig Scott Reviewed-by: Alexandru Croitor --- cmake/QtBuildInternals/QtBuildInternalsConfig.cmake | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake index 0afd9e7299..ddf86230bb 100644 --- a/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake +++ b/cmake/QtBuildInternals/QtBuildInternalsConfig.cmake @@ -369,7 +369,7 @@ macro(qt_build_repo_end) qt_path_join(__qt_repo_install_dir ${QT_CONFIG_INSTALL_DIR} ${INSTALL_CMAKE_NAMESPACE}) if(NOT PROJECT_NAME STREQUAL "QtBase") - if (EXISTS cmake) + if(IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/cmake") qt_copy_or_install(DIRECTORY cmake/ DESTINATION "${__qt_repo_install_dir}" FILES_MATCHING PATTERN "Find*.cmake"