CMake: Add several essential flags

See GH #717 for relevant discussion
This commit is contained in:
Sam Edwards 2019-09-19 22:33:11 -06:00
parent bd1605907e
commit 9bb59b03b9

View File

@ -103,13 +103,20 @@ else()
endif() endif()
if(NOT "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC") if(NOT "x${CMAKE_CXX_COMPILER_ID}" STREQUAL "xMSVC")
set(disable_flags "-Wno-unused-function -Wno-unused-parameter") set(global_flags
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${disable_flags}") "-Wno-unused-function -Wno-unused-parameter -fno-strict-aliasing")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${disable_flags} -Wno-reorder") set(release_flags
set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-unused-variable") "-Wno-unused-variable -fno-stack-protector -ffast-math -fno-unsafe-math-optimizations")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -Wno-unused-variable")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -Wno-unused-variable") # Allow NaN to occur in the public SDK
set(CMAKE_CXX_FLAGS_STANDARD "${CMAKE_CXX_FLAGS_STANDARD} -Wno-unused-variable") set(standard_flags "${release_flags} -fno-finite-math-only")
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}")
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${release_flags}")
set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} ${release_flags}")
set(CMAKE_CXX_FLAGS_STANDARD "${CMAKE_CXX_FLAGS_STANDARD} ${standard_flags}")
if(MSVC) if(MSVC)
# Clang behaving as MSVC # Clang behaving as MSVC