summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt112
1 files changed, 23 insertions, 89 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 120d049bc..7af763a11 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -97,16 +97,26 @@ endif()
################################################################################
# Global configuration types
################################################################################
-if (CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch")
-set(CMAKE_C_FLAGS_DEBUG "-g -ffast-math -DDEBUG")
-set(CMAKE_CXX_FLAGS_DEBUG "-g -ffast-math -DDEBUG")
-set(CMAKE_C_FLAGS_RELEASE "-O3 -ffast-math -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELEASE "-O3 -ffast-math -DNDEBUG")
-else()
-set(CMAKE_C_FLAGS_RELEASE "-O2 -DNDEBUG")
-set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
-set(CMAKE_OBJCXX_FLAGS_RELEASE "-O2 -DNDEBUG")
-endif()
+set(COMMON_FLAGS "-Wall -Wextra -Wno-error \
+ -Wno-return-type \
+ -Wno-unused-parameter \
+ -Wno-unused-function \
+ -Wno-unused-variable \
+ -Wno-missing-field-initializers \
+ -Wno-parentheses \
+ -Wno-narrowing \
+ -Wno-missing-braces \
+ -Wno-int-conversion \
+ -fpermissive \
+ -ffast-math"
+)
+set(COMMON_C_FLAGS "${COMMON_FLAGS} -Werror-implicit-function-declaration -Wno-incompatible-pointer-types")
+set(COMMON_CXX_FLAGS "${COMMON_FLAGS} -Wno-c++11-narrowing -Wno-deprecated-enum-enum-conversion")
+
+set(CMAKE_C_FLAGS_DEBUG "-g -DDEBUG ${COMMON_C_FLAGS}")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -DDEBUG ${COMMON_CXX_FLAGS}")
+set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_C_FLAGS}")
+set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_CXX_FLAGS}")
# Set game compilation version
set(VERSION us)
@@ -552,26 +562,6 @@ endif()
if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
if (CMAKE_SYSTEM_NAME STREQUAL "Darwin" OR CMAKE_SYSTEM_NAME STREQUAL "iOS")
target_compile_options(${PROJECT_NAME} PRIVATE
- -Wall -Wextra -Wno-error
- -Wno-return-type
- -Wno-unused-parameter
- -Wno-unused-function
- -Wno-unused-variable
- -Wno-missing-field-initializers
- -Wno-parentheses
- -Wno-narrowing
- -Wno-missing-braces
- -Wno-int-conversion
- $<$<COMPILE_LANGUAGE:C>:
- -Werror-implicit-function-declaration
- -Wno-incompatible-pointer-types
- -fpermissive
- >
- $<$<COMPILE_LANGUAGE:CXX>:-fpermissive>
- $<$<COMPILE_LANGUAGE:CXX>:
- -Wno-c++11-narrowing
- -Wno-deprecated-enum-enum-conversion
- >
-pthread
)
@@ -580,76 +570,20 @@ if (CMAKE_CXX_COMPILER_ID MATCHES "GNU|Clang|AppleClang")
)
elseif (CMAKE_SYSTEM_NAME STREQUAL "NintendoSwitch")
target_compile_options(${PROJECT_NAME} PRIVATE
- -Wall -Wextra -Wno-error
- -Wno-return-type
- -Wno-unused-parameter
- -Wno-unused-function
- -Wno-unused-variable
- -Wno-missing-field-initializers
- -Wno-parentheses
- -Wno-narrowing
- -Wno-missing-braces
- -Wno-int-conversion
- $<$<COMPILE_LANGUAGE:C>:
- -Werror-implicit-function-declaration
- -Wno-incompatible-pointer-types
- -fpermissive
- >
- $<$<COMPILE_LANGUAGE:CXX>:-fpermissive>
- $<$<COMPILE_LANGUAGE:CXX>:
- -Wno-c++11-narrowing
- -Wno-deprecated-enum-enum-conversion
- >
-pthread
)
target_link_options(${PROJECT_NAME} PRIVATE
-pthread
)
- elseif (CMAKE_SYSTEM_NAME STREQUAL "CafeOS")
- target_compile_options(${PROJECT_NAME} PRIVATE
- -O2
-
- # disable some warnings to not clutter output
- -Wno-multichar
- -Wno-return-type
- -Wno-narrowing
- -Wno-switch-outside-range
- $<$<COMPILE_LANGUAGE:C>:
- -Werror-implicit-function-declaration
- -Wno-incompatible-pointer-types
- -Wno-discarded-array-qualifiers
- -Wno-discarded-qualifiers
- -Wno-int-conversion
- -Wno-builtin-declaration-mismatch
- -Wno-switch-unreachable
- -Wno-stringop-overflow
- >
- )
- else()
+ elseif (NOT CMAKE_SYSTEM_NAME STREQUAL "CafeOS")
if(CMAKE_SYSTEM_PROCESSOR MATCHES "x86_64")
- set(CPU_OPTION -msse2 -mfpmath=sse)
+ set(CPU_OPTION -msse2 -mfpmath=sse)
endif()
target_compile_options(${PROJECT_NAME} PRIVATE
- -Wall -Wextra -Wno-error
- -Wno-unused-parameter
- -Wno-unused-function
- -Wno-unused-variable
- -Wno-missing-field-initializers
- -Wno-parentheses
- -Wno-narrowing
- -Wno-missing-braces
- -Wno-int-conversion
- $<$<COMPILE_LANGUAGE:C>:
- -Werror-implicit-function-declaration
- -Wno-incompatible-pointer-types
- -fpermissive
- >
- $<$<COMPILE_LANGUAGE:CXX>:-fpermissive>
- $<$<COMPILE_LANGUAGE:CXX>:-Wno-deprecated-enum-enum-conversion>
-pthread
- ${CPU_OPTION}
+ ${CPU_OPTION}
)
target_link_options(${PROJECT_NAME} PRIVATE