From 9d2d15111982e999237bddd84fc9c011adaf8827 Mon Sep 17 00:00:00 2001 From: Federico Di Pierro Date: Tue, 3 Sep 2024 11:02:10 +0200 Subject: [PATCH] chore(cmake): honor CMAKE_BUILD_TYPE while building bundled grpc and protobuf. Signed-off-by: Federico Di Pierro --- cmake/modules/grpc.cmake | 2 +- cmake/modules/protobuf.cmake | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/cmake/modules/grpc.cmake b/cmake/modules/grpc.cmake index e943506bee..d802901d45 100644 --- a/cmake/modules/grpc.cmake +++ b/cmake/modules/grpc.cmake @@ -165,7 +165,7 @@ else() GIT_SUBMODULES "third_party/abseil-cpp" CMAKE_CACHE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=${GRPC_INSTALL_DIR} - -DCMAKE_BUILD_TYPE:STRING=Release + -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE} -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=${ENABLE_PIC} -DgRPC_INSTALL:BOOL=OFF # disable unused stuff diff --git a/cmake/modules/protobuf.cmake b/cmake/modules/protobuf.cmake index e460c79960..b9a1e2d379 100644 --- a/cmake/modules/protobuf.cmake +++ b/cmake/modules/protobuf.cmake @@ -48,7 +48,11 @@ else() else() set(PROTOBUF_PIC_OPTION "--with-pic=yes") endif() - + if (CMAKE_BUILD_TYPE STREQUAL "Release") + set(PROTOBUF_CXXFLAGS "-O2 -std=c++11 -DNDEBUG") + else() + set(PROTOBUF_CXXFLAGS "-g -std=c++11") + endif() message(STATUS "Using bundled protobuf in '${PROTOBUF_SRC}'") ExternalProject_Add(protobuf PREFIX "${PROJECT_BINARY_DIR}/protobuf-prefix" @@ -56,7 +60,7 @@ else() URL "https://github.com/protocolbuffers/protobuf/releases/download/v3.20.3/protobuf-cpp-3.20.3.tar.gz" URL_HASH "SHA256=e51cc8fc496f893e2a48beb417730ab6cbcb251142ad8b2cd1951faa5c76fe3d" # TODO what if using system zlib? - CONFIGURE_COMMAND CPPFLAGS=-I${ZLIB_INCLUDE} LDFLAGS=-L${ZLIB_SRC} ./configure --with-zlib ${PROTOBUF_CONFIGURE_FLAGS} ${PROTOBUF_PIC_OPTION} --prefix=${PROTOBUF_INSTALL_DIR} + CONFIGURE_COMMAND CPPFLAGS=-I${ZLIB_INCLUDE} LDFLAGS=-L${ZLIB_SRC} ./configure CXXFLAGS=${PROTOBUF_CXXFLAGS} --with-zlib ${PROTOBUF_CONFIGURE_FLAGS} ${PROTOBUF_PIC_OPTION} --prefix=${PROTOBUF_INSTALL_DIR} BUILD_COMMAND make BUILD_IN_SOURCE 1 BUILD_BYPRODUCTS ${PROTOC} ${PROTOBUF_INCLUDE} ${PROTOBUF_LIB}