aboutsummaryrefslogtreecommitdiff
path: root/cmake.deps/cmake/TargetArch.cmake
diff options
context:
space:
mode:
authorJosh Rahm <rahm@google.com>2022-07-18 19:37:18 +0000
committerJosh Rahm <rahm@google.com>2022-07-18 19:37:18 +0000
commit308e1940dcd64aa6c344c403d4f9e0dda58d9c5c (patch)
tree35fe43e01755e0f312650667004487a44d6b7941 /cmake.deps/cmake/TargetArch.cmake
parent96a00c7c588b2f38a2424aeeb4ea3581d370bf2d (diff)
parente8c94697bcbe23a5c7b07c292b90a6b70aadfa87 (diff)
downloadrneovim-308e1940dcd64aa6c344c403d4f9e0dda58d9c5c.tar.gz
rneovim-308e1940dcd64aa6c344c403d4f9e0dda58d9c5c.tar.bz2
rneovim-308e1940dcd64aa6c344c403d4f9e0dda58d9c5c.zip
Merge remote-tracking branch 'upstream/master' into rahm
Diffstat (limited to 'cmake.deps/cmake/TargetArch.cmake')
-rw-r--r--cmake.deps/cmake/TargetArch.cmake23
1 files changed, 23 insertions, 0 deletions
diff --git a/cmake.deps/cmake/TargetArch.cmake b/cmake.deps/cmake/TargetArch.cmake
new file mode 100644
index 0000000000..71ea44ec59
--- /dev/null
+++ b/cmake.deps/cmake/TargetArch.cmake
@@ -0,0 +1,23 @@
+# Sets TARGET_ARCH to a normalized name (X86 or X86_64).
+# See https://github.com/axr/solar-cmake/blob/master/TargetArch.cmake
+include(CheckSymbolExists)
+
+# X86
+check_symbol_exists("_M_IX86" "" T_M_IX86)
+check_symbol_exists("__i386__" "" T_I386)
+if(T_M_IX86 OR T_I386)
+set(TARGET_ARCH "X86")
+ return()
+endif()
+
+# X86_64
+check_symbol_exists("_M_AMD64" "" T_M_AMD64)
+check_symbol_exists("__x86_64__" "" T_X86_64)
+check_symbol_exists("__amd64__" "" T_AMD64)
+
+if(T_M_AMD64 OR T_X86_64 OR T_AMD64)
+set(TARGET_ARCH "X86_64")
+ return()
+endif()
+
+message(FATAL_ERROR "Unknown target architecture")