diff options
Diffstat (limited to 'cmake.deps/cmake/BuildLuajit.cmake')
-rw-r--r-- | cmake.deps/cmake/BuildLuajit.cmake | 49 |
1 files changed, 4 insertions, 45 deletions
diff --git a/cmake.deps/cmake/BuildLuajit.cmake b/cmake.deps/cmake/BuildLuajit.cmake index c5068d6986..8182afcd7d 100644 --- a/cmake.deps/cmake/BuildLuajit.cmake +++ b/cmake.deps/cmake/BuildLuajit.cmake @@ -4,16 +4,13 @@ function(BuildLuajit) cmake_parse_arguments(_luajit "" - "TARGET" + "" "CONFIGURE_COMMAND;BUILD_COMMAND;INSTALL_COMMAND;DEPENDS" ${ARGN}) - if(NOT _luajit_TARGET) - set(_luajit_TARGET "luajit") - endif() get_externalproject_options(luajit ${DEPS_IGNORE_SHA}) - ExternalProject_Add(${_luajit_TARGET} - DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/${_luajit_TARGET} + ExternalProject_Add(luajit + DOWNLOAD_DIR ${DEPS_DOWNLOAD_DIR}/luajit CONFIGURE_COMMAND "${_luajit_CONFIGURE_COMMAND}" BUILD_IN_SOURCE 1 BUILD_COMMAND "${_luajit_BUILD_COMMAND}" @@ -47,49 +44,11 @@ if(APPLE) set(DEPLOYMENT_TARGET "MACOSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}") endif() -if((UNIX AND NOT APPLE) OR (APPLE AND NOT CMAKE_OSX_ARCHITECTURES)) +if(UNIX) BuildLuaJit(INSTALL_COMMAND ${BUILDCMD_UNIX} CC=${DEPS_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} ${DEPLOYMENT_TARGET} install) -elseif(CMAKE_OSX_ARCHITECTURES AND APPLE) - - set(LUAJIT_C_COMPILER "${CMAKE_C_COMPILER}") - if(CMAKE_OSX_SYSROOT) - set(LUAJIT_C_COMPILER "${LUAJIT_C_COMPILER} -isysroot${CMAKE_OSX_SYSROOT}") - endif() - - # Passing multiple `-arch` flags to the LuaJIT build will cause it to fail. - # To get a working universal build, we build each requested architecture slice - # individually then `lipo` them all up. - set(LUAJIT_SRC_DIR "${DEPS_BUILD_DIR}/src/luajit") - foreach(ARCH IN LISTS CMAKE_OSX_ARCHITECTURES) - set(STATIC_CC "${LUAJIT_C_COMPILER} -arch ${ARCH}") - set(DYNAMIC_CC "${LUAJIT_C_COMPILER} -arch ${ARCH} -fPIC") - set(TARGET_LD "${LUAJIT_C_COMPILER} -arch ${ARCH}") - list(APPEND LUAJIT_THIN_EXECUTABLES "${LUAJIT_SRC_DIR}-${ARCH}/src/luajit") - list(APPEND LUAJIT_THIN_STATIC_LIBS "${LUAJIT_SRC_DIR}-${ARCH}/src/libluajit.a") - list(APPEND LUAJIT_THIN_DYLIBS "${LUAJIT_SRC_DIR}-${ARCH}/src/libluajit.so") - list(APPEND LUAJIT_THIN_TARGETS "luajit-${ARCH}") - - # See https://luajit.org/install.html#cross. - BuildLuaJit(TARGET "luajit-${ARCH}" - BUILD_COMMAND ${BUILDCMD_UNIX} - CC=${LUAJIT_C_COMPILER} STATIC_CC=${STATIC_CC} - DYNAMIC_CC=${DYNAMIC_CC} TARGET_LD=${TARGET_LD} - PREFIX=${DEPS_INSTALL_DIR} - ${DEPLOYMENT_TARGET}) - endforeach() - BuildLuaJit( - CONFIGURE_COMMAND ${BUILDCMD_UNIX} CC=${LUAJIT_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} ${DEPLOYMENT_TARGET} - COMMAND ${CMAKE_COMMAND} -E rm -f ${LUAJIT_SRC_DIR}/src/luajit ${LUAJIT_SRC_DIR}/src/libluajit.so ${LUAJIT_SRC_DIR}/src/libluajit.a - BUILD_COMMAND lipo ${LUAJIT_THIN_EXECUTABLES} -create -output ${LUAJIT_SRC_DIR}/src/luajit - COMMAND lipo ${LUAJIT_THIN_STATIC_LIBS} -create -output ${LUAJIT_SRC_DIR}/src/libluajit.a - COMMAND lipo ${LUAJIT_THIN_DYLIBS} -create -output ${LUAJIT_SRC_DIR}/src/libluajit.so - INSTALL_COMMAND ${BUILDCMD_UNIX} CC=${LUAJIT_C_COMPILER} PREFIX=${DEPS_INSTALL_DIR} ${DEPLOYMENT_TARGET} install - DEPENDS ${LUAJIT_THIN_TARGETS} - ) - elseif(MINGW) if(CMAKE_GENERATOR MATCHES "Ninja") |