CMake: Don't pass GNU-like -f options to clang-cl

This commit is contained in:
Sam Edwards 2019-12-01 09:29:34 -07:00
parent 5c98b793a2
commit 6bde9423df

View File

@ -108,15 +108,23 @@ else()
endif()
if(NOT "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
if(CMAKE_CXX_COMPILER_ID MATCHES "(GNU|Clang)")
set(global_flags
"-Wno-unused-function -Wno-unused-parameter -fno-strict-aliasing")
set(release_flags
"-Wno-unused-variable -fno-stack-protector -ffast-math -fno-unsafe-math-optimizations")
set(release_flags "-Wno-unused-variable")
if(NOT MSVC)
# These flags upset Clang when it's in MSVC mode
set(release_flags "${release_flags} -fno-stack-protector -ffast-math -fno-unsafe-math-optimizations")
# Allow NaN to occur in the public SDK
set(standard_flags "${release_flags} -fno-finite-math-only")
else()
set(standard_flags "${release_flags}")
endif()
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${global_flags}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${global_flags} -Wno-reorder")
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${release_flags}")