summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMarcus Asteborg <maastebo@microsoft.com>2020-04-07 13:56:04 -0700
committerJean-Marc Valin <jmvalin@jmvalin.ca>2020-04-20 22:47:56 -0400
commit4fc7d874969da418d81b6e0d44b41759c19836aa (patch)
tree1eb268a5cfa4e2d96ebf87c144ad082d710c5715 /CMakeLists.txt
parent66422d0bac8652ee8d2a2477077e735ca54cfa68 (diff)
downloadopus-4fc7d874969da418d81b6e0d44b41759c19836aa.tar.gz
cmake - Fix OPUS_STACK_PROTECTOR option
Signed-off-by: Jean-Marc Valin <jmvalin@jmvalin.ca>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt15
1 files changed, 11 insertions, 4 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 025bddf5..ed7870e9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -52,12 +52,19 @@ if(OPUS_BUILD_TESTING OR BUILD_TESTING)
endif()
if(OPUS_STACK_PROTECTOR)
- if(NOT MSVC) # GC on by default on MSVC
- check_and_set_flag(STACK_PROTECTION_STRONG -fstack-protector-strong)
+ if(MSVC) # GC on by default on MSVC
+ check_and_set_flag(STACK_PROTECTOR /GS)
+ else()
+ check_and_set_flag(STACK_PROTECTOR -fstack-protector-strong)
endif()
else()
if(MSVC)
- check_and_set_flag(BUFFER_SECURITY_CHECK /GS-)
+ check_and_set_flag(STACK_PROTECTOR_DISABLED /GS-)
+ if (STACK_PROTECTOR_DISABLED_SUPPORTED)
+ set(STACK_PROTECTOR_SUPPORTED OFF)
+ endif()
+ else()
+ set(STACK_PROTECTOR_SUPPORTED OFF)
endif()
endif()
@@ -132,7 +139,7 @@ set_package_properties(Git
"required to set up package version")
add_feature_info(OPUS_BUILD_SHARED_LIBRARY OPUS_BUILD_SHARED_LIBRARY "Build shared library")
-add_feature_info(OPUS_STACK_PROTECTOR OPUS_STACK_PROTECTOR "Use stack protection")
+add_feature_info(OPUS_STACK_PROTECTOR STACK_PROTECTOR_SUPPORTED "Use stack protection")
add_feature_info(OPUS_USE_ALLOCA OPUS_USE_ALLOCA
"Use alloca for stack arrays (on non-C99 compilers)")
add_feature_info(OPUS_CUSTOM_MODES OPUS_CUSTOM_MODES