|
1 | | -# Copyright 2019-2020 CERN and copyright holders of ALICE O2. |
| 1 | +# Copyright 2019-2025 CERN and copyright holders of ALICE O2. |
2 | 2 | # See https://alice-o2.web.cern.ch/copyright for details of the copyright holders. |
3 | 3 | # All rights not expressly granted are reserved. |
4 | 4 | # |
@@ -41,62 +41,68 @@ if(O2PHYSICS_WARNINGS_AS_ERRORS) |
41 | 41 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror") |
42 | 42 | # Set warning flags for all platforms. |
43 | 43 | o2_build_warning_flags(PREFIX "-Wno-error=" |
44 | | - OUTPUTVARNAME O2PHYSICS_CXX_WARNINGS_COMMON_NO_ERROR |
45 | | - WARNINGS ${O2PHYSICS_WARNINGS_COMMON_NO_ERROR}) |
| 44 | + OUTPUTVARNAME O2PHYSICS_CXX_WARNINGS_COMMON_NO_ERROR |
| 45 | + WARNINGS ${O2PHYSICS_WARNINGS_COMMON_NO_ERROR}) |
46 | 46 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${O2PHYSICS_CXX_WARNINGS_COMMON_NO_ERROR}") |
47 | 47 | if(APPLE) |
48 | 48 | # Set warning flags for macOS only. |
49 | 49 | o2_build_warning_flags(PREFIX "-Wno-error=" |
50 | | - OUTPUTVARNAME O2PHYSICS_CXX_WARNINGS_APPLE_NO_ERROR |
51 | | - WARNINGS ${O2PHYSICS_WARNINGS_CLANG_NO_ERROR}) |
| 50 | + OUTPUTVARNAME O2PHYSICS_CXX_WARNINGS_APPLE_NO_ERROR |
| 51 | + WARNINGS ${O2PHYSICS_WARNINGS_CLANG_NO_ERROR}) |
52 | 52 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${O2PHYSICS_CXX_WARNINGS_APPLE_NO_ERROR}") |
53 | 53 | elseif(UNIX) |
54 | 54 | # Set warning flags for Linux only. |
55 | 55 | o2_build_warning_flags(PREFIX "-Wno-error=" |
56 | | - OUTPUTVARNAME O2PHYSICS_CXX_WARNINGS_UNIX_NO_ERROR |
57 | | - WARNINGS ${O2PHYSICS_WARNINGS_GCC_NO_ERROR}) |
| 56 | + OUTPUTVARNAME O2PHYSICS_CXX_WARNINGS_UNIX_NO_ERROR |
| 57 | + WARNINGS ${O2PHYSICS_WARNINGS_GCC_NO_ERROR}) |
58 | 58 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${O2PHYSICS_CXX_WARNINGS_UNIX_NO_ERROR}") |
59 | 59 | endif() |
60 | 60 | endif() |
61 | 61 |
|
62 | | -IF (ENABLE_TIMETRACE) |
| 62 | +if(ENABLE_TIMETRACE) |
63 | 63 | set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -ftime-trace") |
64 | | -ENDIF() |
| 64 | +endif() |
| 65 | + |
| 66 | +if(APPLE) |
| 67 | +else() |
| 68 | +set(SPLIT_DWARF "-gsplit-dwarf=single") |
| 69 | +endif() |
65 | 70 |
|
66 | | -set(CMAKE_CXX_FLAGS_COVERAGE "-g -O2 -fprofile-arcs -ftest-coverage") |
| 71 | +set(CMAKE_CXX_FLAGS_COVERAGE "${SPLIT_DWARF} -O2 -fprofile-arcs -ftest-coverage") |
67 | 72 | set(CMAKE_C_FLAGS_COVERAGE "${CMAKE_CXX_FLAGS_COVERAGE}") |
68 | | -set(CMAKE_Fortran_FLAGS_COVERAGE "-g -O2 -fprofile-arcs -ftest-coverage") |
| 73 | +set(CMAKE_Fortran_FLAGS_COVERAGE "${SPLIT_DWARF} -O2 -fprofile-arcs -ftest-coverage") |
69 | 74 | set(CMAKE_LINK_FLAGS_COVERAGE "--coverage -fprofile-arcs -fPIC") |
70 | 75 |
|
71 | | -MARK_AS_ADVANCED( |
| 76 | +mark_as_advanced( |
72 | 77 | CMAKE_CXX_FLAGS_COVERAGE |
73 | 78 | CMAKE_C_FLAGS_COVERAGE |
74 | 79 | CMAKE_Fortran_FLAGS_COVERAGE |
75 | 80 | CMAKE_LINK_FLAGS_COVERAGE) |
76 | 81 |
|
77 | 82 | #Check the compiler and set the compile and link flags |
78 | | -IF (NOT CMAKE_BUILD_TYPE) |
79 | | - Message(STATUS "Set BuildType to DEBUG") |
| 83 | +if(NOT CMAKE_BUILD_TYPE) |
| 84 | + message(STATUS "Set BuildType to DEBUG") |
80 | 85 | set(CMAKE_BUILD_TYPE RELWITHDEBINFO) |
81 | | -ENDIF (NOT CMAKE_BUILD_TYPE) |
82 | | - |
83 | | -IF(ENABLE_CASSERT) #For the CI, we want to have <cassert> assertions enabled |
84 | | - set(CMAKE_CXX_FLAGS_RELEASE "-O2 -pipe") |
85 | | - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -pipe") |
86 | | -ELSE() |
87 | | - set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -pipe") |
88 | | - set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g -DNDEBUG -pipe") |
89 | | - if (CMAKE_BUILD_TYPE STREQUAL "RELEASE" OR CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO") |
90 | | - set(FAIR_MIN_SEVERITY "info") |
91 | | - endif() |
92 | | -ENDIF() |
| 86 | +endif() |
| 87 | + |
| 88 | +if(ENABLE_CASSERT) #For the CI, we want to have <cassert> assertions enabled |
| 89 | + set(CMAKE_CXX_FLAGS_RELEASE "-O2 -pipe") |
| 90 | + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 ${SPLIT_DWARF} -pipe") |
| 91 | +else() |
| 92 | + set(CMAKE_CXX_FLAGS_RELEASE "-O2 -DNDEBUG -pipe") |
| 93 | + set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 ${SPLIT_DWARF} -DNDEBUG -pipe") |
| 94 | + if(CMAKE_BUILD_TYPE STREQUAL "RELEASE" |
| 95 | + OR CMAKE_BUILD_TYPE STREQUAL "RELWITHDEBINFO") |
| 96 | + set(FAIR_MIN_SEVERITY "info") |
| 97 | + endif() |
| 98 | +endif() |
93 | 99 | set(CMAKE_C_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}") |
94 | 100 | set(CMAKE_Fortran_FLAGS_RELEASE "-O2") |
95 | | -set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-O2 -g") |
| 101 | +set(CMAKE_Fortran_FLAGS_RELWITHDEBINFO "-O2 ${SPLIT_DWARF}") |
96 | 102 | # make sure Debug build not optimized (does not seem to work without CACHE + FORCE) |
97 | | -set(CMAKE_CXX_FLAGS_DEBUG "-g -O0" CACHE STRING "Debug mode build flags" FORCE) |
| 103 | +set(CMAKE_CXX_FLAGS_DEBUG "${SPLIT_DWARF} -O0" CACHE STRING "Debug mode build flags" FORCE) |
98 | 104 | set(CMAKE_C_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG}" CACHE STRING "Debug mode build flags" FORCE) |
99 | | -set(CMAKE_Fortran_FLAGS_DEBUG "-g -O0" CACHE STRING "Debug mode build flags" FORCE) |
| 105 | +set(CMAKE_Fortran_FLAGS_DEBUG "${SPLIT_DWARF} -O0" CACHE STRING "Debug mode build flags" FORCE) |
100 | 106 |
|
101 | 107 | if(APPLE) |
102 | 108 | elseif(UNIX) |
|
0 commit comments