@@ -7,25 +7,27 @@ add_library(vmpilot_options INTERFACE)
77
88target_compile_features (vmpilot_options INTERFACE cxx_std_17 )
99
10+ # Guard MSVC flags with COMPILE_LANGUAGE:CXX so they are not passed to
11+ # MASM (ml64.exe), which does not understand /utf-8, /Od, /W4, etc.
1012target_compile_options (vmpilot_options INTERFACE
1113 # Warnings
1214 $<$<CXX_COMPILER_ID :GNU ,Clang ,AppleClang >:-Wall -Wextra -Werror -pedantic >
13- $<$<CXX_COMPILER_ID :MSVC >:/W4 /WX /utf -8>
15+ $<$<AND :$< CXX_COMPILER_ID :MSVC >,$< COMPILE_LANGUAGE : CXX > >:/W4 /WX /utf -8>
1416 # Colour diagnostics
1517 $<$<CXX_COMPILER_ID :GNU >:-fdiagnostics -color =always >
1618 $<$<CXX_COMPILER_ID :Clang ,AppleClang >:-fcolor -diagnostics >
1719 # Debug
1820 $<$<AND :$<CONFIG :Debug >,$<NOT :$<CXX_COMPILER_ID :MSVC >>>:-g -fno -omit -frame -pointer -O0 >
19- $<$<AND :$<CONFIG :Debug >,$<CXX_COMPILER_ID :MSVC >>:/Zi /Od >
21+ $<$<AND :$<CONFIG :Debug >,$<CXX_COMPILER_ID :MSVC >,$< COMPILE_LANGUAGE : CXX > >:/Zi /Od >
2022 # Release
2123 $<$<AND :$<CONFIG :Release >,$<NOT :$<CXX_COMPILER_ID :MSVC >>>:-O3 -fdata -sections -ffunction -sections >
22- $<$<AND :$<CONFIG :Release >,$<CXX_COMPILER_ID :MSVC >>:/O2 /Gy >
24+ $<$<AND :$<CONFIG :Release >,$<CXX_COMPILER_ID :MSVC >,$< COMPILE_LANGUAGE : CXX > >:/O2 /Gy >
2325 # MinSizeRel
2426 $<$<AND :$<CONFIG :MinSizeRel >,$<NOT :$<CXX_COMPILER_ID :MSVC >>>:-Os -fdata -sections -ffunction -sections >
25- $<$<AND :$<CONFIG :MinSizeRel >,$<CXX_COMPILER_ID :MSVC >>:/O1 /Gy >
27+ $<$<AND :$<CONFIG :MinSizeRel >,$<CXX_COMPILER_ID :MSVC >,$< COMPILE_LANGUAGE : CXX > >:/O1 /Gy >
2628 # RelWithDebInfo
2729 $<$<AND :$<CONFIG :RelWithDebInfo >,$<NOT :$<CXX_COMPILER_ID :MSVC >>>:-O2 -g -fno -omit -frame -pointer >
28- $<$<AND :$<CONFIG :RelWithDebInfo >,$<CXX_COMPILER_ID :MSVC >>:/O2 /Zi >
30+ $<$<AND :$<CONFIG :RelWithDebInfo >,$<CXX_COMPILER_ID :MSVC >,$< COMPILE_LANGUAGE : CXX > >:/O2 /Zi >
2931)
3032
3133target_compile_definitions (vmpilot_options INTERFACE
0 commit comments