From 95577dd5076a8e9864e82879fd3af97cf63fcfe9 Mon Sep 17 00:00:00 2001 From: Mike Gilbert Date: Sun, 29 Mar 2020 20:44:48 -0400 Subject: [PATCH] cmake.eclass: do not append -DNDEBUG to CPPFLAGS The NDEBUG macro turns the assert() function into a noop. This gives a small performance boost, but may allow subtle programming errors to go unnoticed. This code was added back in 2008, when we started passing -DCMAKE_BUILD_TYPE=None instead of Release or Debug. It probably tries to mimic a default behavior of Release type builds. Other common build systems do not do this by default. For example, autoconf's AC_HEADER_ASSERT macro only sets NDEBUG if --disable-assert is passed to configure (it defaults to enabled). It is better to let users add this to CPPFLAGS themselves if they really want to save those few CPU cycles. Signed-off-by: Mike Gilbert --- eclass/cmake.eclass | 9 --------- 1 file changed, 9 deletions(-) diff --git a/eclass/cmake.eclass b/eclass/cmake.eclass index 160f40b1cf8e5..3da3b9aeb5550 100644 --- a/eclass/cmake.eclass +++ b/eclass/cmake.eclass @@ -371,15 +371,6 @@ cmake_src_configure() { # Fix xdg collision with sandbox xdg_environment_reset - # @SEE CMAKE_BUILD_TYPE - if [[ ${CMAKE_BUILD_TYPE} = Gentoo ]]; then - # Handle release builds - if ! in_iuse debug || ! use debug; then - local CPPFLAGS=${CPPFLAGS} - append-cppflags -DNDEBUG - fi - fi - # Prepare Gentoo override rules (set valid compiler, append CPPFLAGS etc.) local build_rules=${BUILD_DIR}/gentoo_rules.cmake