summaryrefslogtreecommitdiff
path: root/src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake')
-rw-r--r--src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake28
1 files changed, 28 insertions, 0 deletions
diff --git a/src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake b/src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake
new file mode 100644
index 0000000..96e4a28
--- /dev/null
+++ b/src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake
@@ -0,0 +1,28 @@
+if(DRACO_CMAKE_DRACO_CPU_DETECTION_CMAKE_)
+ return()
+endif() # DRACO_CMAKE_DRACO_CPU_DETECTION_CMAKE_
+set(DRACO_CMAKE_DRACO_CPU_DETECTION_CMAKE_ 1)
+
+# Detect optimizations available for the current target CPU.
+macro(draco_optimization_detect)
+ if(DRACO_ENABLE_OPTIMIZATIONS)
+ string(TOLOWER "${CMAKE_SYSTEM_PROCESSOR}" cpu_lowercase)
+ if(cpu_lowercase MATCHES "^arm|^aarch64")
+ set(draco_have_neon ON)
+ elseif(cpu_lowercase MATCHES "^x86|amd64")
+ set(draco_have_sse4 ON)
+ endif()
+ endif()
+
+ if(draco_have_neon AND DRACO_ENABLE_NEON)
+ list(APPEND draco_defines "DRACO_ENABLE_NEON=1")
+ else()
+ list(APPEND draco_defines "DRACO_ENABLE_NEON=0")
+ endif()
+
+ if(draco_have_sse4 AND DRACO_ENABLE_SSE4_1)
+ list(APPEND draco_defines "DRACO_ENABLE_SSE4_1=1")
+ else()
+ list(APPEND draco_defines "DRACO_ENABLE_SSE4_1=0")
+ endif()
+endmacro()