From 0634b41092f7b3f9861a0fd038ed8727196c502d Mon Sep 17 00:00:00 2001 From: WerWolv Date: Wed, 23 Jul 2025 15:24:09 +0200 Subject: [PATCH] build: Add cmake flag for enabling hardening flags --- CMakeLists.txt | 1 + cmake/build_helpers.cmake | 12 +++++++----- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index c81121bdd..42fb4c734 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -13,6 +13,7 @@ option(IMHEX_BUNDLE_DOTNET "Bundle .NET runtime" option(IMHEX_ENABLE_LTO "Enables Link Time Optimizations if possible" OFF) option(IMHEX_USE_DEFAULT_BUILD_SETTINGS "Use default build settings" OFF) option(IMHEX_STRICT_WARNINGS "Enable most available warnings and treat them as errors" ON ) +option(IMHEX_BUILD_HARDENING "Enable hardening flags for build" ON ) option(IMHEX_STATIC_LINK_PLUGINS "Statically link all plugins into the main executable" OFF) option(IMHEX_GENERATE_PACKAGE "Specify if a native package should be built. (Windows and MacOS only)" OFF) option(IMHEX_ENABLE_UNITY_BUILD "Enables building ImHex as a unity build." OFF) diff --git a/cmake/build_helpers.cmake b/cmake/build_helpers.cmake index 77c00e573..25bdd16b8 100644 --- a/cmake/build_helpers.cmake +++ b/cmake/build_helpers.cmake @@ -714,12 +714,14 @@ macro(setupCompilerFlags target) addCXXFlag("-Wno-include-angled-in-module-purview" ${target}) # Enable hardening flags - if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug") - addCommonFlag("-U_FORTIFY_SOURCE" ${target}) - addCommonFlag("-D_FORTIFY_SOURCE=3" ${target}) + if (IMHEX_BUILD_HARDENING) + if (NOT CMAKE_BUILD_TYPE STREQUAL "Debug") + addCommonFlag("-U_FORTIFY_SOURCE" ${target}) + addCommonFlag("-D_FORTIFY_SOURCE=3" ${target}) - if (NOT EMSCRIPTEN) - addCommonFlag("-fstack-protector-strong" ${target}) + if (NOT EMSCRIPTEN) + addCommonFlag("-fstack-protector-strong" ${target}) + endif() endif() endif()