summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorMarcus Asteborg <maastebo@microsoft.com>2022-07-06 21:35:16 -0700
committerMark Harris <mark.hsj@gmail.com>2022-07-07 22:07:33 -0700
commit510e1029b45aa01a7047e5b3b82169be40911b96 (patch)
tree862a8e1b774311edb4b2beab2ede4b400623896d /CMakeLists.txt
parenta80e9e9533d4edeaae282b82f77b8bd8a4903eca (diff)
downloadopus-510e1029b45aa01a7047e5b3b82169be40911b96.tar.gz
cmake - fix rtcd detection on x86 non windows
Signed-off-by: Mark Harris <mark.hsj@gmail.com>
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt14
1 files changed, 12 insertions, 2 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 589d1794..75362ccf 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -366,11 +366,21 @@ if(NOT OPUS_ENABLE_FLOAT_API)
endif()
if(NOT OPUS_DISABLE_INTRINSICS)
- if((OPUS_X86_MAY_HAVE_SSE AND NOT OPUS_X86_PRESUME_SSE) OR
+ if(((OPUS_X86_MAY_HAVE_SSE AND NOT OPUS_X86_PRESUME_SSE) OR
(OPUS_X86_MAY_HAVE_SSE2 AND NOT OPUS_X86_PRESUME_SSE2) OR
(OPUS_X86_MAY_HAVE_SSE4_1 AND NOT OPUS_X86_PRESUME_SSE4_1) OR
- (OPUS_X86_MAY_HAVE_AVX AND NOT OPUS_X86_PRESUME_AVX))
+ (OPUS_X86_MAY_HAVE_AVX AND NOT OPUS_X86_PRESUME_AVX)) AND
+ RUNTIME_CPU_CAPABILITY_DETECTION)
target_compile_definitions(opus PRIVATE OPUS_HAVE_RTCD)
+ if(NOT MSVC)
+ if(CPU_INFO_BY_ASM_SUPPORTED)
+ target_compile_definitions(opus PRIVATE CPU_INFO_BY_ASM)
+ elseif(CPU_INFO_BY_C_SUPPORTED)
+ target_compile_definitions(opus PRIVATE CPU_INFO_BY_C)
+ else()
+ message(ERROR "Runtime cpu capability detection is enabled while CPU_INFO is not supported")
+ endif()
+ endif()
endif()
if(SSE1_SUPPORTED)