Skip to content

Commit a6cd6cd

Browse files
authored
Change default build type to Release (#272)
- Change default CMAKE_BUILD_TYPE from RelWithDebInfo to Release. Compiling with -O3 instead of -O2 gives gRPC a considerable speed boost. - Rename cmake_BUILD_TYPE to deps_BUILD_TYPE. The 'cmake_' prefix is reserved. Signed-off-by: Derek G Foster <[email protected]>
1 parent 173325b commit a6cd6cd

File tree

1 file changed

+20
-13
lines changed

1 file changed

+20
-13
lines changed

setup/CMakeLists.txt

Lines changed: 20 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -60,15 +60,22 @@ else()
6060
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX})
6161
endif()
6262

63+
if(NOT CMAKE_BUILD_TYPE)
64+
set(CMAKE_BUILD_TYPE "Release" CACHE STRING "Choose the build type." FORCE)
65+
endif()
66+
67+
set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
68+
"Debug;Release;RelWithDebInfo")
69+
6370
if(NOT CMAKE_BUILD_TYPE STREQUAL "")
64-
set(cmake_BUILD_TYPE "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
71+
set(deps_BUILD_TYPE "-DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
6572
endif()
6673

6774
cmake_print_variables(CMAKE_BUILD_TYPE)
68-
cmake_print_variables(CMAKE_TOOLCHAIN_FILE)
75+
cmake_print_variables(CMAKE_FIND_ROOT_PATH)
6976
cmake_print_variables(CMAKE_INSTALL_PREFIX)
7077
cmake_print_variables(CMAKE_PREFIX_PATH)
71-
cmake_print_variables(CMAKE_FIND_ROOT_PATH)
78+
cmake_print_variables(CMAKE_TOOLCHAIN_FILE)
7279

7380
##########################
7481
# Set CMAKE_CXX_STANDARD #
@@ -118,7 +125,7 @@ ExternalProject_Add(abseil-cpp
118125
SOURCE_DIR
119126
${CMAKE_SOURCE_DIR}/abseil-cpp
120127
CMAKE_ARGS
121-
${cmake_BUILD_TYPE}
128+
${deps_BUILD_TYPE}
122129
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
123130
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
124131
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
@@ -149,7 +156,7 @@ ExternalProject_Add(zlib
149156
SOURCE_DIR
150157
${CMAKE_SOURCE_DIR}/zlib
151158
CMAKE_ARGS
152-
${cmake_BUILD_TYPE}
159+
${deps_BUILD_TYPE}
153160
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
154161
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
155162
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
@@ -174,7 +181,7 @@ ExternalProject_Add(cares
174181
SOURCE_DIR
175182
${CMAKE_SOURCE_DIR}/c-ares
176183
CMAKE_ARGS
177-
${cmake_BUILD_TYPE}
184+
${deps_BUILD_TYPE}
178185
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
179186
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
180187
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
@@ -199,7 +206,7 @@ ExternalProject_Add(protobuf
199206
SOURCE_DIR
200207
${CMAKE_SOURCE_DIR}/protobuf
201208
CMAKE_ARGS
202-
${cmake_BUILD_TYPE}
209+
${deps_BUILD_TYPE}
203210
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
204211
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
205212
-DCMAKE_POSITION_INDEPENDENT_CODE=on
@@ -246,7 +253,7 @@ ExternalProject_Add(grpc
246253
SOURCE_DIR
247254
${CMAKE_SOURCE_DIR}/grpc
248255
CMAKE_ARGS
249-
${cmake_BUILD_TYPE}
256+
${deps_BUILD_TYPE}
250257
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
251258
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
252259
-DCMAKE_INSTALL_RPATH=$ORIGIN
@@ -295,7 +302,7 @@ ExternalProject_Add(cctz
295302
SOURCE_DIR
296303
${CMAKE_SOURCE_DIR}/cctz
297304
CMAKE_ARGS
298-
${cmake_BUILD_TYPE}
305+
${deps_BUILD_TYPE}
299306
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
300307
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
301308
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
@@ -322,7 +329,7 @@ ExternalProject_Add(gflags
322329
SOURCE_DIR
323330
${CMAKE_SOURCE_DIR}/gflags
324331
CMAKE_ARGS
325-
${cmake_BUILD_TYPE}
332+
${deps_BUILD_TYPE}
326333
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
327334
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
328335
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
@@ -349,7 +356,7 @@ ExternalProject_Add(glog
349356
SOURCE_DIR
350357
${CMAKE_SOURCE_DIR}/glog
351358
CMAKE_ARGS
352-
${cmake_BUILD_TYPE}
359+
${deps_BUILD_TYPE}
353360
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
354361
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
355362
-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}
@@ -378,7 +385,7 @@ ExternalProject_Add(gtest
378385
SOURCE_DIR
379386
${CMAKE_SOURCE_DIR}/gtest
380387
CMAKE_ARGS
381-
${cmake_BUILD_TYPE}
388+
${deps_BUILD_TYPE}
382389
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
383390
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
384391
-DCMAKE_INSTALL_RPATH=$ORIGIN
@@ -403,7 +410,7 @@ ExternalProject_Add(json
403410
SOURCE_DIR
404411
${CMAKE_SOURCE_DIR}/json
405412
CMAKE_ARGS
406-
${cmake_BUILD_TYPE}
413+
${deps_BUILD_TYPE}
407414
-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}
408415
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
409416
-DJSON_BuildTests=off

0 commit comments

Comments
 (0)