summaryrefslogtreecommitdiff
path: root/src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake
diff options
context:
space:
mode:
authorsanine <sanine.not@pm.me>2022-03-04 10:47:15 -0600
committersanine <sanine.not@pm.me>2022-03-04 10:47:15 -0600
commit058f98a63658dc1a2579826ba167fd61bed1e21f (patch)
treebcba07a1615a14d943f3af3f815a42f3be86b2f3 /src/mesh/assimp-master/contrib/draco/cmake/draco_cpu_detection.cmake
parent2f8028ac9e0812cb6f3cbb08f0f419e4e717bd22 (diff)
add assimp submodule
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()