Bladeren bron

Replaced the logic to use VARIANT variable instead.

The CMAKE_CROSSCOMPILING variable cannot be used here because it will be always false since 'buildvm-*' is only built natively (not cross-compiling).
Yao Wei Tjong 姚伟忠 12 jaren geleden
bovenliggende
commit
cfe7ccf21c
1 gewijzigde bestanden met toevoegingen van 16 en 16 verwijderingen
  1. 16 16
      Source/ThirdParty/LuaJIT/DetectTargetArchitecture.cmake

+ 16 - 16
Source/ThirdParty/LuaJIT/DetectTargetArchitecture.cmake

@@ -57,26 +57,25 @@ if (WIN32)
 else ()
     execute_process (COMMAND uname -s OUTPUT_VARIABLE HOST_SYS ERROR_QUIET)
 endif ()
-if (CMAKE_CROSSCOMPILING OR IOS)
-    if (IOS)
+if (VARIANT)
+    if (VARIANT MATCHES ios)
         set (TARGET_SYS iOS)
+    elseif (VARIANT MATCHES android|raspi)
+        set (TARGET_SYS Linux)
+    else ()
+        message (FATAL_ERROR "Unsupported buildvm variant: ${VARIANT}") 
+    endif ()
+    # Makefile: ifneq ($(HOST_SYS),$(TARGET_SYS))
+    if (TARGET_SYS STREQUAL Windows)
+        set (HOST_XCFLAGS ${HOST_XCFLAGS} -malign-double -DLUAJIT_OS=LUAJIT_OS_WINDOWS)
+    elseif (TARGET_SYS STREQUAL Linux)
+        set (HOST_XCFLAGS ${HOST_XCFLAGS} -DLUAJIT_OS=LUAJIT_OS_LINUX)
+    elseif (TARGET_SYS MATCHES Darwin|iOS)
         set (HOST_XCFLAGS ${HOST_XCFLAGS} -DLUAJIT_OS=LUAJIT_OS_OSX)
     else ()
-        if (NOT TARGET_SYS)
-            set (TARGET_SYS ${CMAKE_SYSTEM_NAME})
-        endif ()        
-        if (TARGET_SYS STREQUAL Windows)
-            set (HOST_XCFLAGS ${HOST_XCFLAGS} -malign-double -DLUAJIT_OS=LUAJIT_OS_WINDOWS)
-        elseif (TARGET_SYS STREQUAL Linux)
-            set (HOST_XCFLAGS ${HOST_XCFLAGS} -DLUAJIT_OS=LUAJIT_OS_LINUX)
-        elseif (TARGET_SYS STREQUAL Darwin)
-            set (HOST_XCFLAGS ${HOST_XCFLAGS} -DLUAJIT_OS=LUAJIT_OS_OSX)
-        else ()
-            set (HOST_XCFLAGS ${HOST_XCFLAGS} -DLUAJIT_OS=LUAJIT_OS_OTHER)
-        endif ()
+        set (HOST_XCFLAGS ${HOST_XCFLAGS} -DLUAJIT_OS=LUAJIT_OS_OTHER)
     endif ()
 else ()
-    # Not cross compiling
     set (TARGET_SYS ${HOST_SYS})
 endif ()
 
@@ -93,7 +92,8 @@ if (ARCH_BITS EQUAL 64)
         set (ARCH_BITS 32)
     endif ()
 endif ()
-if (TARGET_LJARCH STREQUAL x64)
+if (VARIANT)
+    string (REGEX REPLACE "-m(32|64) *" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
     set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -m${ARCH_BITS}")
 endif ()