From b459e4cedab04ffb4047a0adf5f3b03149c29e80 Mon Sep 17 00:00:00 2001 From: Marcus Asteborg <maastebo@microsoft.com> Date: Fri, 20 Nov 2020 21:22:48 -0800 Subject: [PATCH] cmake - add option for hardening Signed-off-by: Ralph Giles <giles@thaumas.net> --- CMakeLists.txt | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index e07568e80..1db497491 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,6 +59,10 @@ set(OPUS_ASSERTIONS_HELP_STR "additional software error checking.") option(OPUS_ASSERTIONS ${OPUS_ASSERTIONS_HELP_STR} OFF) add_feature_info(OPUS_ASSERTIONS OPUS_ASSERTIONS ${OPUS_ASSERTIONS_HELP_STR}) +set(OPUS_HARDENING_HELP_STR "run-time checks that are cheap and safe for use in production.") +option(OPUS_HARDENING ${OPUS_HARDENING_HELP_STR} ON) +add_feature_info(OPUS_HARDENING OPUS_HARDENING ${OPUS_HARDENING_HELP_STR}) + set(OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR "install pkg-config module.") option(OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR} ON) add_feature_info(OPUS_INSTALL_PKG_CONFIG_MODULE OPUS_INSTALL_PKG_CONFIG_MODULE ${OPUS_INSTALL_PKG_CONFIG_MODULE_HELP_STR}) @@ -258,7 +262,7 @@ target_include_directories( silk) target_link_libraries(opus PRIVATE ${OPUS_REQUIRED_LIBRARIES}) -target_compile_definitions(opus PRIVATE OPUS_BUILD ENABLE_HARDENING) +target_compile_definitions(opus PRIVATE OPUS_BUILD) if(OPUS_FORTIFY_SOURCE AND NOT MSVC) target_compile_definitions(opus PRIVATE @@ -273,6 +277,10 @@ if(OPUS_ASSERTIONS) target_compile_definitions(opus PRIVATE ENABLE_ASSERTIONS) endif() +if(OPUS_HARDENING) + target_compile_definitions(opus PRIVATE ENABLE_HARDENING) +endif() + if(OPUS_VAR_ARRAYS) target_compile_definitions(opus PRIVATE VAR_ARRAYS) elseif(OPUS_USE_ALLOCA) -- GitLab