From b9e62b6fe5f4735bc900dcf50ebbceb8373da041 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Fri, 1 Mar 2024 12:00:01 +0300 Subject: [PATCH 1/2] use NDEBUG to check DEBUG mode --- include/cglm/io.h | 2 +- include/cglm/mat4.h | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/cglm/io.h b/include/cglm/io.h index d77368b60..b95751b1c 100644 --- a/include/cglm/io.h +++ b/include/cglm/io.h @@ -38,7 +38,7 @@ #ifndef cglm_io_h #define cglm_io_h -#if defined(DEBUG) || defined(_DEBUG) \ +#if !defined(NDEBUG) \ || defined(CGLM_DEFINE_PRINTS) || defined(CGLM_LIB_SRC) \ || defined(CGLM_NO_PRINTS_NOOP) diff --git a/include/cglm/mat4.h b/include/cglm/mat4.h index 7f181d192..08310a496 100644 --- a/include/cglm/mat4.h +++ b/include/cglm/mat4.h @@ -69,7 +69,7 @@ # include "simd/wasm/mat4.h" #endif -#ifdef DEBUG +#ifndef NDEBUG # include #endif @@ -376,7 +376,7 @@ void glm_mat4_mulN(mat4 * __restrict matrices[], uint32_t len, mat4 dest) { uint32_t i; -#ifdef DEBUG +#ifndef NDEBUG assert(len > 1 && "there must be least 2 matrices to go!"); #endif From 772238f53f97713b219ea8bd9d4145da9e001a02 Mon Sep 17 00:00:00 2001 From: Recep Aslantas Date: Fri, 1 Mar 2024 12:01:58 +0300 Subject: [PATCH 2/2] update cmake to respect DEBUG --- CMakeLists.txt | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index a32755297..a4867c9c9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -32,18 +32,23 @@ if(CGLM_USE_C99) endif() if(MSVC) - add_definitions(-DNDEBUG -D_WINDOWS -D_USRDLL) - add_compile_options(/W3 /Ox /Gy /Oi /TC) - - # Ref: https://skia.googlesource.com/third_party/sdl/+/refs/heads/master/CMakeLists.txt#225 - # Make sure /RTC1 is disabled, otherwise it will use functions from the CRT - foreach(flag_var - CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE - CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) - string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}") - endforeach(flag_var) + add_definitions(-D_WINDOWS -D_USRDLL) + + if(NOT CMAKE_BUILD_TYPE MATCHES Debug) + add_definitions(-DNDEBUG) + add_compile_options(/W3 /Ox /Gy /Oi /TC) + foreach(flag_var + CMAKE_C_FLAGS CMAKE_C_FLAGS_DEBUG CMAKE_C_FLAGS_RELEASE + CMAKE_C_FLAGS_MINSIZEREL CMAKE_C_FLAGS_RELWITHDEBINFO) + string(REGEX REPLACE "/RTC(su|[1su])" "" ${flag_var} "${${flag_var}}") + endforeach(flag_var) + endif() else() - add_compile_options(-Wall -O3) + add_compile_options(-Wall) + + if(NOT CMAKE_BUILD_TYPE MATCHES Debug) + add_compile_options(-O3) + endif() endif() get_directory_property(hasParent PARENT_DIRECTORY)