From df1c5e73b2d656fd82d72b35592df015c1d9762d Mon Sep 17 00:00:00 2001 From: Jackson Oursland Date: Mon, 14 Apr 2025 14:34:46 -0700 Subject: [PATCH] CMake: set optimization of debug builds to -Og. (#20780) * CMake: set optimization of debug builds to -Og. * Update cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake Co-authored-by: Benjamin Nauck * Fix indentation level --------- Co-authored-by: Benjamin Nauck --- .../SetGlobalCompilerAndLinkerSettings.cmake | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake b/cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake index 3a09db02d2..7e3d4958fd 100644 --- a/cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake +++ b/cMake/FreeCAD_Helpers/SetGlobalCompilerAndLinkerSettings.cmake @@ -19,6 +19,15 @@ macro(SetGlobalCompilerAndLinkerSettings) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -mxgot") endif() + if (CMAKE_CXX_COMPILER_ID MATCHES "Clang|GNU") + # Only add -Og if no -O* optimization flag exists + if (NOT "${CMAKE_C_FLAGS_DEBUG}" MATCHES "-O[a-z0-9]+") + set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Og") + endif() + if (NOT "${CMAKE_CXX_FLAGS_DEBUG}" MATCHES "-O[a-z0-9]+") + set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Og") + endif() + endif() if(MSVC) # set default compiler settings add_definitions(-D_DISABLE_CONSTEXPR_MUTEX_CONSTRUCTOR -DNOMINMAX)