Skip to content

Commit 9243819

Browse files
committed
build(gcc): use -fhardened option for gcc14
also, switch off hardenings for debug builds
1 parent 109dd54 commit 9243819

3 files changed

Lines changed: 6 additions & 9 deletions

File tree

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
-D ENABLE_LSAN:BOOL=${{ matrix.build.type == 'Debug' }}
9999
-D ENABLE_CPPCHECK:BOOL=TRUE
100100
-D ENABLE_CLANG_TIDY:BOOL=${{ contains(matrix.config.cc, 'clang') }}
101-
-D ENABLE_HARDENINGS:BOOL=TRUE
101+
-D ENABLE_HARDENINGS:BOOL=${{ matrix.build.type != 'Debug' }}
102102
-D ENABLE_FORTIFY_SOURCE:BOOL=${{ matrix.build.type != 'Debug' }}
103103
104104
- name: Build
@@ -198,7 +198,7 @@ jobs:
198198
-D ENABLE_ASAN:BOOL=${{ matrix.build.type == 'Debug' }}
199199
-D ENABLE_UBSAN:BOOL=${{ matrix.build.type == 'Debug' }}
200200
-D ENABLE_LSAN:BOOL=${{ matrix.build.type == 'Debug' }}
201-
-D ENABLE_HARDENINGS:BOOL=TRUE
201+
-D ENABLE_HARDENINGS:BOOL=${{ matrix.build.type != 'Debug' }}
202202
-D ENABLE_FORTIFY_SOURCE:BOOL=${{ matrix.build.type != 'Debug' }}
203203
204204
- name: Build
@@ -303,7 +303,7 @@ jobs:
303303
poetry run cmake --preset ${{ matrix.build.preset }}
304304
-D ENABLE_COVERAGE:BOOL=${{ matrix.build.type == 'Debug' }}
305305
-D ENABLE_ASAN:BOOL=${{ matrix.build.type == 'Debug' && matrix.config.cc == 'cl' }}
306-
-D ENABLE_HARDENINGS:BOOL=TRUE
306+
-D ENABLE_HARDENINGS:BOOL=${{ matrix.build.type != 'Debug' }}
307307
308308
- name: Build
309309
run: cmake --build --preset ${{ matrix.build.preset }}

cmake/defaults.cmake

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,9 @@ function(enable_hardenings target_name)
290290
/DYNAMICBASE
291291
/LARGEADDRESSAWARE
292292
/HIGHENTROPYVA)
293-
elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang|GNU")
293+
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
294+
target_compile_options(${target_name} INTERFACE -fhardened)
295+
elseif(CMAKE_CXX_COMPILER_ID MATCHES ".*Clang")
294296
target_compile_definitions(${target_name} INTERFACE _GLIBCXX_ASSERTIONS)
295297
if(ENABLE_FORTIFY_SOURCE)
296298
target_compile_options(${target_name} INTERFACE -U_FORTIFY_SOURCE

conan/gcc13

Lines changed: 0 additions & 5 deletions
This file was deleted.

0 commit comments

Comments
 (0)