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. Fixes: QTBUG-99548 Change-Id: Idbccd65fe8f66abd1da3fce95e563065d1ed3cc6 Reviewed-by: Kai Koehne <kai.koehne@qt.io> (cherry picked from commit ae294a42f001a0fe8191f20627f22ddd0e8358ed) Reviewed-by: Qt Cherry-pick Bot <cherrypick_bot@qt-project.org>
This commit is contained in:
parent
bce4329f60
commit
c679193fde
@ -236,7 +236,8 @@ function(qt_set_msvc_cplusplus_options target visibility)
|
|||||||
# For MSVC we need to explicitly pass -Zc:__cplusplus to get correct __cplusplus.
|
# For MSVC we need to explicitly pass -Zc:__cplusplus to get correct __cplusplus.
|
||||||
# Check qt_config_compile_test for more info.
|
# Check qt_config_compile_test for more info.
|
||||||
if(MSVC AND MSVC_VERSION GREATER_EQUAL 1913)
|
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()
|
endif()
|
||||||
endfunction()
|
endfunction()
|
||||||
|
|
||||||
@ -250,7 +251,11 @@ function(qt_enable_utf8_sources target)
|
|||||||
|
|
||||||
if(utf8_flags)
|
if(utf8_flags)
|
||||||
# Allow opting out by specifying the QT_NO_UTF8_SOURCE target property.
|
# 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}>")
|
set(utf8_flags "$<${genex_condition}:${utf8_flags}>")
|
||||||
target_compile_options("${target}" INTERFACE "${utf8_flags}")
|
target_compile_options("${target}" INTERFACE "${utf8_flags}")
|
||||||
endif()
|
endif()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user