[Scummvm-git-logs] scummvm master -> 6ad2e5d337fd850b8d6b17585a87c27a2f98b23d
orgads
noreply at scummvm.org
Sun Jun 1 06:43:44 UTC 2025
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://api.github.com/repos/scummvm/scummvm .
Summary:
6ad2e5d337 CREATE_PROJECT: Disable NDEBUG for cmake
Commit: 6ad2e5d337fd850b8d6b17585a87c27a2f98b23d
https://github.com/scummvm/scummvm/commit/6ad2e5d337fd850b8d6b17585a87c27a2f98b23d
Author: Orgad Shaneh (orgads at gmail.com)
Date: 2025-06-01T09:43:41+03:00
Commit Message:
CREATE_PROJECT: Disable NDEBUG for cmake
ScummVM makes heavy use of assert, and having NDEBUG defined makes it no-op.
Inspired by https://github.com/llvm/llvm-project/blob/1f7885cf9c68/llvm/cmake/modules/HandleLLVMOptions.cmake#L118
Changed paths:
devtools/create_project/cmake.cpp
diff --git a/devtools/create_project/cmake.cpp b/devtools/create_project/cmake.cpp
index 1d436c1a270..f064ce5d7ef 100644
--- a/devtools/create_project/cmake.cpp
+++ b/devtools/create_project/cmake.cpp
@@ -87,10 +87,23 @@ void CMakeProvider::createWorkspace(const BuildSetup &setup) {
workspace << "cmake_minimum_required(VERSION 3.13)\n";
workspace << "project(" << setup.projectDescription << ")\n\n";
- workspace << R"(set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+ workspace << R"EOS(set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
set(CMAKE_CXX_STANDARD 11) # Globally enable C++11
-if(CMAKE_BUILD_TYPE STREQUAL "Release")
- add_definitions(-DRELEASE_BUILD)
+string(TOUPPER "${CMAKE_BUILD_TYPE}" uppercase_CMAKE_BUILD_TYPE)
+if(NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+ add_definitions(-DRELEASE_BUILD -UNDEBUG)
+
+ # Also remove /D NDEBUG to avoid MSVC warnings about conflicting defines.
+ foreach (flags_var_to_scrub
+ CMAKE_CXX_FLAGS_RELEASE
+ CMAKE_CXX_FLAGS_RELWITHDEBINFO
+ CMAKE_CXX_FLAGS_MINSIZEREL
+ CMAKE_C_FLAGS_RELEASE
+ CMAKE_C_FLAGS_RELWITHDEBINFO
+ CMAKE_C_FLAGS_MINSIZEREL)
+ string (REGEX REPLACE "(^| )[/-]D *NDEBUG($| )" " "
+ "${flags_var_to_scrub}" "${${flags_var_to_scrub}}")
+ endforeach()
endif()
find_package(PkgConfig QUIET)
@@ -129,7 +142,7 @@ macro(find_feature)
endif()
endmacro()
-)";
+)EOS";
workspace << R"EOS(function(add_engine engine_name)
string(TOUPPER ${engine_name} _engine_var)
More information about the Scummvm-git-logs
mailing list