Add the 'QT_INTERNAL_AVOID_OVERRIDING_SYNCQT_CONFIG' flag

The flag avoids overriding of the default CMake build config when
building syncqt.

Add extra checks to the make sure that configure-time tools use the
correct build type.

Fixes: QTBUG-109792
Pick-to: 6.5
Change-Id: I572fed60c58e59297fa559aea6eb86af94b979b7
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Jörg Bornemann <joerg.bornemann@qt.io>
This commit is contained in:
Alexey Edelev 2023-01-11 13:35:10 +01:00
parent 0e3ef41112
commit 4e4cd7416a
2 changed files with 16 additions and 2 deletions

View File

@ -616,7 +616,7 @@ endfunction()
# Specifies the module this tool belongs to. The Qt6${TOOLS_TARGET}Tools module
# will then expose targets for this tool. Ignored if NO_INSTALL is set.
function(qt_internal_add_configure_time_tool target_name)
set(one_value_args INSTALL_DIRECTORY TOOLS_TARGET)
set(one_value_args INSTALL_DIRECTORY TOOLS_TARGET CONFIG)
set(multi_value_args)
set(option_args NO_INSTALL)
cmake_parse_arguments(PARSE_ARGV 1 arg
@ -639,9 +639,18 @@ function(qt_internal_add_configure_time_tool target_name)
set(extra_args "INSTALL_DIRECTORY" "${install_dir}")
endif()
if(arg_CONFIG)
set(tool_config "${arg_CONFIG}")
elseif(QT_MULTI_CONFIG_FIRST_CONFIG)
set(tool_config "${arg_QT_MULTI_CONFIG_FIRST_CONFIG}")
else()
set(tool_config "${CMAKE_BUILD_TYPE}")
endif()
string(REPLACE "\\\;" "\\\\\\\;" unparsed_arguments "${arg_UNPARSED_ARGUMENTS}")
qt_internal_add_configure_time_executable(${target_name}
OUTPUT_NAME ${name}
CONFIG ${tool_config}
${extra_args}
${unparsed_arguments}
)

View File

@ -11,6 +11,11 @@ set(compile_definitions
QT_NAMESPACE="${QT_NAMESPACE}"
)
set(config_type "")
if(NOT QT_INTERNAL_AVOID_OVERRIDING_SYNCQT_CONFIG)
set(config_type CONFIG RelWithDebInfo)
endif()
if(CMAKE_OSX_ARCHITECTURES)
set(osx_architectures "-DCMAKE_OSX_ARCHITECTURES:STRING=${CMAKE_OSX_ARCHITECTURES}")
endif()
@ -30,5 +35,5 @@ qt_internal_add_configure_time_tool(${target_name}
"${osx_architectures}"
SOURCES
"${CMAKE_CURRENT_SOURCE_DIR}/main.cpp"
CONFIG RelWithDebInfo
${config_type}
)