summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorThomas Rohloff <v10lator@myway.de>2025-06-26 11:12:45 +0200
committerThomas Rohloff <v10lator@myway.de>2025-06-26 11:12:45 +0200
commit08f0592f1780492580ff69c6f2b006c5692dbd31 (patch)
tree8ea3aa77c5a74864a73dae829c260b3c3939538d /CMakeLists.txt
parente008ad678600d44a1000813e20a11172138d628c (diff)
Try to fix MSVC build
Signed-off-by: Thomas Rohloff <v10lator@myway.de>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt46
1 files changed, 29 insertions, 17 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 7fbfd83a3..d4af33b6c 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -95,25 +95,37 @@ if (CMAKE_SYSTEM_NAME STREQUAL "Windows")
endif()
################################################################################
-# Global configuration types
+# Compiler specific configuration types
################################################################################
-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 \
- -pipe"
-)
-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")
+if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU|Clang|AppleClang")
+ 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 \
+ -fpermissive \
+ -ffast-math \
+ -pipe"
+ )
+ set(COMMON_C_FLAGS "${COMMON_FLAGS} -Wno-int-conversion -Werror-implicit-function-declaration -Wno-incompatible-pointer-types")
+ set(COMMON_CXX_FLAGS "${COMMON_FLAGS} -Wno-c++11-narrowing -Wno-deprecated-enum-enum-conversion")
+elseif (MSVC)
+ set(COMMON_FLAGS "/fp:fast")
+ set(COMMON_C_FLAGS "${COMMON_FLAGS}")
+ set(COMMON_CXX_FLAGS "${COMMON_FLAGS}")
+else()
+ set(COMMON_C_FLAGS "")
+ set(COMMON_CXX_FLAGS "")
+endif()
+
+################################################################################
+# Global configuration types
+################################################################################
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}")