Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 21 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,27 @@ FetchContent_Declare(
FIND_PACKAGE_ARGS
)

# ##############################################################################
# Initial compilation flags for build types we care about
if(NOT CMAKE_CXX_FLAGS_DEBUG)
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g" CACHE STRING "" FORCE)
endif()

if(NOT CMAKE_CXX_FLAGS_RELEASE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g0 -DNDEBUG" CACHE STRING "" FORCE)
endif()

if(NOT CMAKE_CXX_FLAGS_RELWITHDEBINFO)
set(
CMAKE_CXX_FLAGS_RELWITHDEBINFO
"-O3 -fno-omit-frame-pointer -g -DNDEBUG"
CACHE STRING
""
FORCE
)
Comment on lines +44 to +59
Copy link

Copilot AI Mar 11, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

These set(CMAKE_CXX_FLAGS_<CONFIG> ... CACHE ... FORCE) calls run before project()/cet_cmake_env(), so the variables are typically still unset and will be force-initialized here. That overrides the toolchain/compiler defaults CMake (and cetmodules) would normally populate, and can break or unexpectedly change flags for non-GNU/Clang toolchains. Prefer setting CMAKE_CXX_FLAGS_<CONFIG>_INIT before project(), or move this after project() and append per-config flags via add_compile_options($<$<CONFIG:...>:...>)/target options, and avoid FORCE unless you intend to override user-provided cache values.

Suggested change
if(NOT CMAKE_CXX_FLAGS_DEBUG)
set(CMAKE_CXX_FLAGS_DEBUG "-Og -g" CACHE STRING "" FORCE)
endif()
if(NOT CMAKE_CXX_FLAGS_RELEASE)
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -g0 -DNDEBUG" CACHE STRING "" FORCE)
endif()
if(NOT CMAKE_CXX_FLAGS_RELWITHDEBINFO)
set(
CMAKE_CXX_FLAGS_RELWITHDEBINFO
"-O3 -fno-omit-frame-pointer -g -DNDEBUG"
CACHE STRING
""
FORCE
)
if(NOT DEFINED CMAKE_CXX_FLAGS_DEBUG_INIT)
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-Og -g")
endif()
if(NOT DEFINED CMAKE_CXX_FLAGS_RELEASE_INIT)
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3 -g0 -DNDEBUG")
endif()
if(NOT DEFINED CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT)
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-O3 -fno-omit-frame-pointer -g -DNDEBUG")

Copilot uses AI. Check for mistakes.
endif()
# ##############################################################################

# Make cetmodules available
FetchContent_MakeAvailable(cetmodules)
find_package(cetmodules 4.01.01 REQUIRED)
Expand Down
Loading