add new thirdparty lib, luajit
This commit is contained in:
parent
94e5d98667
commit
7cef288dcd
9
thirdparty/CMakeLists.txt
vendored
9
thirdparty/CMakeLists.txt
vendored
@ -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
56
thirdparty/luajit.cmake
vendored
Normal 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}"
|
||||
)
|
Loading…
x
Reference in New Issue
Block a user