mirror of
https://github.com/FairRootGroup/FairLogger.git
synced 2025-10-13 16:46:46 +00:00
CMake: Add summary about CXX flags
This commit is contained in:
parent
e9c9dc5124
commit
4424742efa
|
@ -110,6 +110,29 @@ endif()
|
||||||
# Summary ######################################################################
|
# Summary ######################################################################
|
||||||
message(STATUS " ")
|
message(STATUS " ")
|
||||||
message(STATUS " ${Cyan}CXX STANDARD${CR} ${BGreen}C++${CMAKE_CXX_STANDARD}${CR} (>= C++${PROJECT_MIN_CXX_STANDARD}, change with ${BMagenta}-DCMAKE_CXX_STANDARD=17${CR})")
|
message(STATUS " ${Cyan}CXX STANDARD${CR} ${BGreen}C++${CMAKE_CXX_STANDARD}${CR} (>= C++${PROJECT_MIN_CXX_STANDARD}, change with ${BMagenta}-DCMAKE_CXX_STANDARD=17${CR})")
|
||||||
|
if(CMAKE_CXX_FLAGS)
|
||||||
|
message(STATUS " ")
|
||||||
|
message(STATUS " ${Cyan}GLOBAL CXX FLAGS${CR} ${BGreen}${CMAKE_CXX_FLAGS}${CR}")
|
||||||
|
endif()
|
||||||
|
if(CMAKE_CONFIGURATION_TYPES)
|
||||||
|
message(STATUS " ")
|
||||||
|
message(STATUS " ${Cyan}BUILD TYPE CXX FLAGS${CR}")
|
||||||
|
string(TOUPPER "${CMAKE_BUILD_TYPE}" selected_type)
|
||||||
|
foreach(type IN LISTS CMAKE_CONFIGURATION_TYPES)
|
||||||
|
string(TOUPPER "${type}" type_upper)
|
||||||
|
if(type_upper STREQUAL selected_type)
|
||||||
|
pad("${type}" 18 " " type_padded)
|
||||||
|
message(STATUS "${BGreen}* ${type_padded}${CMAKE_CXX_FLAGS_${type_upper}}${CR}")
|
||||||
|
else()
|
||||||
|
pad("${type}" 18 " " type_padded)
|
||||||
|
message(STATUS " ${BWhite}${type_padded}${CR}${CMAKE_CXX_FLAGS_${type_upper}}")
|
||||||
|
endif()
|
||||||
|
unset(type_padded)
|
||||||
|
unset(type_upper)
|
||||||
|
endforeach()
|
||||||
|
message(STATUS " ")
|
||||||
|
message(STATUS " (Change the build type with ${BMagenta}-DCMAKE_BUILD_TYPE=...${CR})")
|
||||||
|
endif()
|
||||||
message(STATUS " ")
|
message(STATUS " ")
|
||||||
message(STATUS " ${Cyan}COMPONENT BUILT? INFO${CR}")
|
message(STATUS " ${Cyan}COMPONENT BUILT? INFO${CR}")
|
||||||
message(STATUS " ${BWhite}library${CR} ${BGreen}YES${CR} (default, always built)")
|
message(STATUS " ${BWhite}library${CR} ${BGreen}YES${CR} (default, always built)")
|
||||||
|
|
|
@ -142,10 +142,40 @@ macro(set_fairlogger_defaults)
|
||||||
# Define export set, only one for now
|
# Define export set, only one for now
|
||||||
set(PROJECT_EXPORT_SET ${PROJECT_NAME}Targets)
|
set(PROJECT_EXPORT_SET ${PROJECT_NAME}Targets)
|
||||||
|
|
||||||
set(CMAKE_CXX_FLAGS_NIGHTLY "-O2 -g -Wshadow -Wall -Wextra")
|
set(CMAKE_CONFIGURATION_TYPES "Debug" "Release" "RelWithDebInfo" "Nightly" "Profile" "Experimental" "AdressSan" "ThreadSan")
|
||||||
set(CMAKE_CXX_FLAGS_PROFILE "-g3 -fno-inline -ftest-coverage -fprofile-arcs -Wshadow -Wall -Wextra -Wunused-variable")
|
set(CMAKE_CXX_FLAGS_DEBUG "-g -Wshadow -Wall -Wextra")
|
||||||
|
set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG")
|
||||||
|
set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -Wshadow -Wall -Wextra -DNDEBUG")
|
||||||
|
set(CMAKE_CXX_FLAGS_NIGHTLY "-O2 -g -Wshadow -Wall -Wextra")
|
||||||
|
set(CMAKE_CXX_FLAGS_PROFILE "-g3 -Wshadow -Wall -Wextra -fno-inline -ftest-coverage -fprofile-arcs")
|
||||||
|
set(CMAKE_CXX_FLAGS_EXPERIMENTAL "-O2 -g -Wshadow -Wall -Wextra -DNDEBUG")
|
||||||
|
set(CMAKE_CXX_FLAGS_ADRESSSAN "-O2 -g -Wshadow -Wall -Wextra -fsanitize=address -fno-omit-frame-pointer")
|
||||||
|
set(CMAKE_CXX_FLAGS_THREADSAN "-O2 -g -Wshadow -Wall -Wextra -fsanitize=thread")
|
||||||
|
|
||||||
|
if(CMAKE_GENERATOR STREQUAL "Ninja" AND
|
||||||
|
((CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.9) OR
|
||||||
|
(CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5)))
|
||||||
|
# Force colored warnings in Ninja's output, if the compiler has -fdiagnostics-color support.
|
||||||
|
# Rationale in https://github.com/ninja-build/ninja/issues/814
|
||||||
|
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fdiagnostics-color=always")
|
||||||
|
endif()
|
||||||
endmacro()
|
endmacro()
|
||||||
|
|
||||||
|
function(pad str width char out)
|
||||||
|
cmake_parse_arguments(ARGS "" "COLOR" "" ${ARGN})
|
||||||
|
string(LENGTH ${str} length)
|
||||||
|
if(ARGS_COLOR)
|
||||||
|
math(EXPR padding "${width}-(${length}-10*${ARGS_COLOR})")
|
||||||
|
else()
|
||||||
|
math(EXPR padding "${width}-${length}")
|
||||||
|
endif()
|
||||||
|
if(padding GREATER 0)
|
||||||
|
foreach(i RANGE ${padding})
|
||||||
|
set(str "${str}${char}")
|
||||||
|
endforeach()
|
||||||
|
endif()
|
||||||
|
set(${out} ${str} PARENT_SCOPE)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
function(join VALUES GLUE OUTPUT)
|
function(join VALUES GLUE OUTPUT)
|
||||||
string(REGEX REPLACE "([^\\]|^);" "\\1${GLUE}" _TMP_STR "${VALUES}")
|
string(REGEX REPLACE "([^\\]|^);" "\\1${GLUE}" _TMP_STR "${VALUES}")
|
||||||
|
|
Loading…
Reference in New Issue
Block a user