|
|
|
@ -8,7 +8,11 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
|
|
|
|
|
if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
|
|
|
|
|
set(GENERAL_FLAGS "-pthread")
|
|
|
|
|
set(WARNING_FLAGS "-Wall -Wextra -Wcast-align -Wcast-qual -Wlogical-op -Wstrict-overflow=2 -Wundef -Wformat=2 -Wpointer-arith -Werror")
|
|
|
|
|
set(OPTIMIZATION_FLAGS "-Ofast -s -flto -fuse-linker-plugin")
|
|
|
|
|
set(OPTIMIZATION_FLAGS "-Ofast -s")
|
|
|
|
|
|
|
|
|
|
if (WITH_LTO)
|
|
|
|
|
set(OPTIMIZATION_FLAGS "${OPTIMIZATION_FLAGS} -flto -fuse-linker-plugin")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9)
|
|
|
|
|
set(OPTIMIZATION_FLAGS "${OPTIMIZATION_FLAGS} -fno-associative-math")
|
|
|
|
@ -46,7 +50,11 @@ elseif (CMAKE_CXX_COMPILER_ID MATCHES MSVC)
|
|
|
|
|
elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
|
|
|
|
|
set(GENERAL_FLAGS "-pthread")
|
|
|
|
|
set(WARNING_FLAGS "-Wall -Wextra -Wno-undefined-internal -Wunreachable-code-aggressive -Wmissing-prototypes -Wmissing-variable-declarations -Werror")
|
|
|
|
|
set(OPTIMIZATION_FLAGS "-Ofast -funroll-loops -fmerge-all-constants -flto")
|
|
|
|
|
set(OPTIMIZATION_FLAGS "-Ofast -funroll-loops -fmerge-all-constants")
|
|
|
|
|
|
|
|
|
|
if (WITH_LTO)
|
|
|
|
|
set(OPTIMIZATION_FLAGS "${OPTIMIZATION_FLAGS} -flto")
|
|
|
|
|
endif()
|
|
|
|
|
|
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${GENERAL_FLAGS} ${WARNING_FLAGS} ${OPTIMIZATION_FLAGS}")
|
|
|
|
|
set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} ${GENERAL_FLAGS} ${WARNING_FLAGS} ${OPTIMIZATION_FLAGS}")
|
|
|
|
|