CMake: Add C/C++ compiler options to C/C++ sources only
When compiling CUDA sources in a user project, the Qt6::Platform target would pull in C/C++ related compiler flags, leading to compiler errors. Make sure that we only add those flags to C/C++ source files. Pick-to: 6.2 6.3 Fixes: QTBUG-99548 Change-Id: Idbccd65fe8f66abd1da3fce95e563065d1ed3cc6 Reviewed-by: Kai Koehne <kai.koehne@qt.io>
This commit is contained in:
parent
7246058dfd
commit
ae294a42f0
@ -235,7 +235,8 @@ function(qt_set_msvc_cplusplus_options target visibility)
|
||||
# For MSVC we need to explicitly pass -Zc:__cplusplus to get correct __cplusplus.
|
||||
# Check qt_config_compile_test for more info.
|
||||
if(MSVC AND MSVC_VERSION GREATER_EQUAL 1913)
|
||||
target_compile_options("${target}" ${visibility} "-Zc:__cplusplus" "-permissive-")
|
||||
set(flags "-Zc:__cplusplus" "-permissive-")
|
||||
target_compile_options("${target}" ${visibility} "$<$<COMPILE_LANGUAGE:CXX>:${flags}>")
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
@ -247,7 +248,11 @@ function(qt_enable_utf8_sources target)
|
||||
|
||||
if(utf8_flags)
|
||||
# Allow opting out by specifying the QT_NO_UTF8_SOURCE target property.
|
||||
set(genex_condition "$<NOT:$<BOOL:$<TARGET_PROPERTY:QT_NO_UTF8_SOURCE>>>")
|
||||
set(opt_out_condition "$<NOT:$<BOOL:$<TARGET_PROPERTY:QT_NO_UTF8_SOURCE>>>")
|
||||
# Only set the compiler option for C and C++.
|
||||
set(language_condition "$<COMPILE_LANGUAGE:C,CXX>")
|
||||
# Compose the full condition.
|
||||
set(genex_condition "$<AND:${opt_out_condition},${language_condition}>")
|
||||
set(utf8_flags "$<${genex_condition}:${utf8_flags}>")
|
||||
target_compile_options("${target}" INTERFACE "${utf8_flags}")
|
||||
endif()
|
||||
|
Loading…
Reference in New Issue
Block a user