summaryrefslogtreecommitdiff
path: root/libopus/opus_config.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'libopus/opus_config.cmake')
-rw-r--r--libopus/opus_config.cmake43
1 files changed, 43 insertions, 0 deletions
diff --git a/libopus/opus_config.cmake b/libopus/opus_config.cmake
new file mode 100644
index 0000000..a0bfd58
--- /dev/null
+++ b/libopus/opus_config.cmake
@@ -0,0 +1,43 @@
+include(opus_functions.cmake)
+
+configure_file(config.h.cmake.in config.h @ONLY)
+add_definitions(-DHAVE_CONFIG_H)
+
+set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+set_property(GLOBAL PROPERTY C_STANDARD 99)
+
+if(MSVC)
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+endif()
+
+include(CheckLibraryExists)
+check_library_exists(m floor "" HAVE_LIBM)
+if(HAVE_LIBM)
+ list(APPEND OPUS_REQUIRED_LIBRARIES m)
+endif()
+
+if(CMAKE_SYSTEM_PROCESSOR MATCHES "(i[0-9]86|x86|X86|amd64|AMD64|x86_64)")
+ if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+ set(OPUS_CPU_X64 1)
+ else()
+ set(OPUS_CPU_X86 1)
+ endif()
+elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "arm")
+ set(OPUS_CPU_ARM 1)
+endif()
+
+opus_supports_cpu_detection(RUNTIME_CPU_CAPABILITY_DETECTION)
+
+if(OPUS_CPU_X86 OR OPUS_CPU_X64)
+ opus_detect_sse(COMPILER_SUPPORT_SIMD)
+elseif(OPUS_CPU_ARM)
+ opus_detect_neon(COMPILER_SUPPORT_NEON)
+ if(COMPILER_SUPPORT_NEON)
+ option(OPUS_USE_NEON "Option to turn off SSE" ON)
+ option(OPUS_MAY_SUPPORT_NEON "Does runtime check for neon support" ON)
+ option(OPUS_PRESUME_NEON "Assume target CPU has NEON support" OFF)
+ if(CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64")
+ set(OPUS_PRESUME_NEON ON)
+ endif()
+ endif()
+endif()