Commit 0f71a9291a

Alex Rønne Petersen <alex@alexrp.com>
2025-11-12 10:04:30
cmake: improve host system detection in some more cases
1 parent cbfa87c
Changed files (1)
CMakeLists.txt
@@ -732,8 +732,15 @@ endforeach()
 include(CheckSymbolExists)
 
 string(TOLOWER "${CMAKE_HOST_SYSTEM_NAME}" ZIG_HOST_TARGET_OS)
-if(ZIG_HOST_TARGET_OS STREQUAL "darwin")
+if(ZIG_HOST_TARGET_OS STREQUAL "android")
+  set(ZIG_HOST_TARGET_OS "linux")
+  set(ZIG_HOST_TARGET_IS_ANDROID TRUE)
+elseif(ZIG_HOST_TARGET_OS STREQUAL "darwin")
   set(ZIG_HOST_TARGET_OS "macos")
+elseif(ZIG_HOST_TARGET_OS STREQUAL "gnu")
+  set(ZIG_HOST_TARGET_OS "hurd")
+elseif(ZIG_HOST_TARGET_OS STREQUAL "serenityos")
+  set(ZIG_HOST_TARGET_OS "serenity")
 elseif(ZIG_HOST_TARGET_OS STREQUAL "sunos")
   set(ZIG_HOST_TARGET_OS "illumos")
 endif()
@@ -762,15 +769,17 @@ if(ZIG_HOST_TARGET_ARCH MATCHES "^arm(eb)?$")
 endif()
 string(REGEX REPLACE "^ppc((64)?(le)?)$" "powerpc\\1" ZIG_HOST_TARGET_ARCH "${ZIG_HOST_TARGET_ARCH}")
 
+set(ZIG_HOST_TARGET_ABI "")
 if(MSVC)
   set(ZIG_HOST_TARGET_ABI "-msvc")
 elseif(MINGW)
   set(ZIG_HOST_TARGET_ABI "-gnu")
-elseif(ZIG_HOST_TARGET_ARCH MATCHES "^(arm|thumb)hf?(eb)?$")
-  string(REGEX REPLACE "^(arm|thumb)hf?((eb)?)$" "\\1\\2" ZIG_HOST_TARGET_ARCH "${ZIG_HOST_TARGET_ARCH}")
-  set(ZIG_HOST_TARGET_ABI "-eabihf")
-else()
-  set(ZIG_HOST_TARGET_ABI "")
+elseif(ZIG_HOST_TARGET_IS_ANDROID)
+  if(ZIG_HOST_TARGET_ARCH STREQUAL "arm")
+    set(ZIG_HOST_TARGET_ABI "androideabi")
+  else()
+    set(ZIG_HOST_TARGET_ABI "android")
+  endif()
 endif()
 
 set(ZIG_HOST_TARGET_TRIPLE "${ZIG_HOST_TARGET_ARCH}-${ZIG_HOST_TARGET_OS}${ZIG_HOST_TARGET_ABI}" CACHE STRING "Host zig target triple.")