@@ -14,6 +14,7 @@ SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake)
14
14
if (NOT CMAKE_BUILD_TYPE )
15
15
set (CMAKE_BUILD_TYPE Debug CACHE STRING "Build type:Default is debug" FORCE)
16
16
endif ()
17
+ string (TOLOWER "${CMAKE_BUILD_TYPE} " CMAKE_BUILD_TYPE_LOWER)
17
18
18
19
# 输出当前构建类型
19
20
message (STATUS "Using build type: ${CMAKE_BUILD_TYPE} " )
@@ -54,6 +55,12 @@ ENDIF(WIN32)
54
55
# This is for clangd plugin for vscode
55
56
# mute sign-compare error in lex/yacc
56
57
SET (CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -Wall -Werror -Wno-error=sign-compare" )
58
+ IF ("${CMAKE_BUILD_TYPE_LOWER} " STREQUAL "debug" )
59
+ SET (CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -DDEBUG -g -O0" )
60
+ ELSEIF ("${CMAKE_BUILD_TYPE_LOWER} " STREQUAL "release" )
61
+ SET (CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -g -O2" )
62
+ ENDIF ()
63
+
57
64
IF (ENABLE_NOPIE)
58
65
SET (CMAKE_COMMON_FLAGS "${CMAKE_COMMON_FLAGS} -no-pie" )
59
66
ADD_LINK_OPTIONS (-no -pie)
@@ -160,11 +167,6 @@ ENDIF(WITH_UNIT_TESTS)
160
167
SET (CMAKE_CXX_FLAGS ${CMAKE_COMMON_FLAGS} )
161
168
SET (CMAKE_C_FLAGS ${CMAKE_COMMON_FLAGS} )
162
169
163
- set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -g -O0 -DDEBUG" )
164
- set (CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -O2" )
165
- set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2 -g -DDEBUG" )
166
- set (CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} -Os" )
167
-
168
170
MESSAGE (STATUS "CMAKE_CXX_FLAGS is " ${CMAKE_CXX_FLAGS} )
169
171
170
172
# ADD_SUBDIRECTORY(src bin) bin 为目标目录, 可以省略
0 commit comments