Changeset View
Changeset View
Standalone View
Standalone View
cmake/modules/OverrideInitFlags.cmake
# This will set the initial value for the C/CXX flags. | # This will set the initial value for the C/CXX flags. | ||||
# It is included at the time a project language is enabled. | # It is included at the time a project language is enabled. | ||||
# This mimics the autotools behavior by setting the CFLAGS to '-g -O2`, which | # This mimics the autotools behavior by setting the CFLAGS to '-g -O2`, which | ||||
# are not well suited for debugging. | # are not well suited for debugging. | ||||
# FIXME: update CFLAGS with better debug oriented optimization flags | # FIXME: update CFLAGS with better debug oriented optimization flags | ||||
set(CMAKE_C_FLAGS_DEBUG_INIT "-O2") | set(CMAKE_C_FLAGS_DEBUG_INIT "-O2") | ||||
set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os") | set(CMAKE_C_FLAGS_MINSIZEREL_INIT "-Os") | ||||
set(CMAKE_C_FLAGS_RELEASE_INIT "-O3") | set(CMAKE_C_FLAGS_RELEASE_INIT "-O3") | ||||
set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -O2") | set(CMAKE_C_FLAGS_RELWITHDEBINFO_INIT "-g -O2") | ||||
set(CMAKE_C_FLAGS_COVERAGE "-g -O0") | |||||
set(CMAKE_CXX_FLAGS_DEBUG_INIT "-O0") | set(CMAKE_CXX_FLAGS_DEBUG_INIT "-O0") | ||||
set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os") | set(CMAKE_CXX_FLAGS_MINSIZEREL_INIT "-Os") | ||||
set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3") | set(CMAKE_CXX_FLAGS_RELEASE_INIT "-O3") | ||||
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g -O2") | set(CMAKE_CXX_FLAGS_RELWITHDEBINFO_INIT "-g -O2") | ||||
# Setting -Og instead of -O0 is a workaround for the GCC bug 90380: | |||||
# https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90380 | |||||
# | |||||
# This bug is fixed upstream, but is not widely distributed yet. | |||||
# Fixed in GCC versions: | |||||
# - GCC 7.x: versions <= 7.2 are unaffected | |||||
# - GCC 8.x: versions >= 8.3.1 | |||||
# - GCC 9.x: versions >= 9.1.1 | |||||
# - GCC 10.x: all versions | |||||
set(CMAKE_CXX_FLAGS_COVERAGE "-g -Og") |