add new thirdparty lib, luajit

This commit is contained in:
falsycat 2023-07-23 14:08:10 +09:00
parent 94e5d98667
commit 7cef288dcd
2 changed files with 65 additions and 0 deletions

View File

@ -1,5 +1,14 @@
include(FetchContent)
# ---- luajit (MIT)
FetchContent_Declare(
luajit
GIT_REPOSITORY https://github.com/LuaJIT/LuaJIT.git
GIT_TAG 8635cbabf3094c4d8bd00578c7d812bea87bb2d3
)
FetchContent_Populate(luajit)
include(luajit.cmake)
# ---- gtest (BSD-3-Clause)
FetchContent_Declare(
googletest

56
thirdparty/luajit.cmake vendored Normal file
View File

@ -0,0 +1,56 @@
set(src "${luajit_SOURCE_DIR}/src")
if (UNIX)
find_program(MAKE make REQUIRED)
set(lib "${src}/libluajit.a")
add_custom_target(luajit-build
COMMAND
${MAKE} -j BUILDMODE=static CFLAGS=-fPIC
WORKING_DIRECTORY "${luajit_SOURCE_DIR}"
VERBATIM
)
# To enable assertions, add the following options:
# XCFLAGS="-DLUA_USE_APICHECK -DLUA_USE_ASSERT -Og -g"
elseif (MINGW)
find_program(MAKE mingw32-make REQUIRED)
set(lib "${src}/libluajit.a")
add_custom_target(luajit-build
COMMAND ${MAKE} -j BUILDMODE=static CFLAGS=-fPIC
WORKING_DIRECTORY "${luajit_SOURCE_DIR}/src"
VERBATIM
)
elseif (MSVC)
set(lib "${src}/lua51.lib")
add_custom_command(
OUTPUT "${lib}"
COMMAND msvcbuild.bat static
DEPENDS "${luajit_BINARY_DIR}/skip_build"
WORKING_DIRECTORY "${src}"
VERBATIM
)
add_custom_target(luajit-build SOURCES "${lib}")
else()
message(ERROR "unknown environment")
endif()
add_library(luajit-imported STATIC IMPORTED)
set_target_properties(luajit-imported PROPERTIES
IMPORTED_LOCATION "${lib}"
)
add_dependencies(luajit-imported luajit-build)
add_library(luajit INTERFACE)
target_link_libraries(luajit
INTERFACE luajit-imported $<$<PLATFORM_ID:Linux>:m>
)
target_include_directories(luajit SYSTEM BEFORE
INTERFACE "${src}"
)