diff --git a/lib/luajit-cmake/LuaJIT.cmake b/lib/luajit-cmake/LuaJIT.cmake index c0dee5830c5..36a38ea2271 100644 --- a/lib/luajit-cmake/LuaJIT.cmake +++ b/lib/luajit-cmake/LuaJIT.cmake @@ -174,12 +174,12 @@ if(WIN32 OR MINGW) set(DASM_FLAGS ${DASM_FLAGS} -D WIN) endif() -set(ARM64_MSVC 0) +set(ARM64_CROSS_MSVC 0) if (MSVC) if ("${LJ_DETECTED_ARCH}" STREQUAL "AArch64" AND "${CMAKE_SYSTEM_PROCESSOR}" STREQUAL ARM64) - set(ARM64_MSVC 1) - message(STATUS "Compiling for ARM64 with MSVC: ${ARM64_MSVC}") + set(ARM64_CROSS_MSVC 1) + message(STATUS "Compiling for ARM64 with MSVC: ${ARM64_CROSS_MSVC}") endif() endif() @@ -388,15 +388,13 @@ endif() set(VM_DASC_PATH ${LJ_DIR}/vm_${DASM_ARCH}.dasc) # Build the minilua for host platform -if(NOT CMAKE_CROSSCOMPILING) +if((NOT CMAKE_CROSSCOMPILING) OR ARM64_CROSS_MSVC) add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/host/minilua) set(MINILUA_PATH $) else() make_directory(${CMAKE_CURRENT_BINARY_DIR}/minilua) if (HOST_WINE) set(MINILUA_PATH ${CMAKE_CURRENT_BINARY_DIR}/minilua/minilua.exe) - elseif(ARM64_MSVC) - set(MINILUA_PATH ${CMAKE_CURRENT_BINARY_DIR}/minilua/Debug/minilua) else() set(MINILUA_PATH ${CMAKE_CURRENT_BINARY_DIR}/minilua/minilua) endif() @@ -478,16 +476,12 @@ if(HOST_WINE) set(BUILDVM_EXE buildvm.exe) endif() -if(NOT CMAKE_CROSSCOMPILING) +if((NOT CMAKE_CROSSCOMPILING) OR ARM64_CROSS_MSVC) add_subdirectory(${CMAKE_CURRENT_LIST_DIR}/host/buildvm) set(BUILDVM_PATH $) add_dependencies(buildvm buildvm_arch_h) else() - if (NOT ARM64_MSVC) - set(BUILDVM_PATH ${CMAKE_CURRENT_BINARY_DIR}/buildvm/${BUILDVM_EXE}) - else() - set(BUILDVM_PATH ${CMAKE_CURRENT_BINARY_DIR}/buildvm/Debug/${BUILDVM_EXE}) - endif() + set(BUILDVM_PATH ${CMAKE_CURRENT_BINARY_DIR}/buildvm/${BUILDVM_EXE}) make_directory(${CMAKE_CURRENT_BINARY_DIR}/buildvm)