summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorcoco875 <59367621+coco875@users.noreply.github.com>2025-07-26 15:17:57 +0000
committerGitHub <noreply@github.com>2025-07-26 09:17:57 -0600
commit7c229e3ed08a6e809b50f1a4039ddb239c384eac (patch)
tree6293e69ef80dc3a46742153ddd5512df4d547a55 /CMakeLists.txt
parenta48909b7ea198b08be3ee85db6bd945b1a121fdf (diff)
fix some compilation issue (#511)
* fix some compilation issue * Update CMakeLists.txt * remove lto for apple in debug, because apple
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt21
1 files changed, 17 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 88b475807..006d8b2b2 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -150,13 +150,26 @@ else()
set(COMMON_CXX_FLAGS "")
endif()
+# fix LTO breaks debug information on Apple/Ninja https://gitlab.kitware.com/cmake/cmake/-/issues/25202
+if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang" AND "${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
+ add_link_options("-fno-lto")
+ add_compile_options("-fno-lto")
+endif()
+
################################################################################
# Global configuration types
################################################################################
-set(CMAKE_C_FLAGS_DEBUG "-g -DNDEBUG ${COMMON_C_FLAGS}")
-set(CMAKE_CXX_FLAGS_DEBUG "-g -DNDEBUG ${COMMON_CXX_FLAGS}")
-set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_C_FLAGS}")
-set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_CXX_FLAGS}")
+if (MSVC)
+ set(CMAKE_C_FLAGS_DEBUG "/Od /Zi /DNDEBUG ${COMMON_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS_DEBUG "/Od /Zi /DNDEBUG ${COMMON_CXX_FLAGS}")
+ set(CMAKE_C_FLAGS_RELEASE "/O2 /DNDEBUG ${COMMON_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS_RELEASE "/O2 /DNDEBUG ${COMMON_CXX_FLAGS}")
+else()
+ set(CMAKE_C_FLAGS_DEBUG "-g -DNDEBUG ${COMMON_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS_DEBUG "-g -DNDEBUG ${COMMON_CXX_FLAGS}")
+ set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_C_FLAGS}")
+ set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG ${COMMON_CXX_FLAGS}")
+endif()
# Set game compilation version
set(VERSION us)