| 1 | cmake_minimum_required(VERSION 3.14...3.28) |
| 2 | project(luajit LANGUAGES C) |
| 3 | |
| 4 | if(WIN32) |
| 5 | set(LUAJIT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/windows-x64) |
| 6 | # set(LUAJIT_LIB ${LUAJIT_LIB_DIR}/luajit.lib) |
| 7 | set(LUAJIT_LIB ${LUAJIT_LIB_DIR}/lua51.lib) |
| 8 | else() |
| 9 | if(UNIX AND CMAKE_SYSTEM_NAME STREQUAL "Linux") |
| 10 | set(LUAJIT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/linux-x64) |
| 11 | elseif(UNIX AND CMAKE_SYSTEM_NAME STREQUAL "FreeBSD") |
| 12 | set(LUAJIT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/freebsd-x64) |
| 13 | elseif(UNIX AND CMAKE_SYSTEM_NAME STREQUAL "OpenBSD") |
| 14 | set(LUAJIT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/openbsd-x64) |
| 15 | elseif(UNIX AND CMAKE_SYSTEM_NAME STREQUAL "NetBSD") |
| 16 | set(LUAJIT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/netbsd-x64) |
| 17 | elseif(UNIX AND CMAKE_SYSTEM_NAME STREQUAL "SunOS") |
| 18 | set(LUAJIT_LIB_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/illumos-x64) |
| 19 | endif() |
| 20 | set(LUAJIT_LIB ${LUAJIT_LIB_DIR}/libluajit.a) |
| 21 | endif() |
| 22 | |
| 23 | add_library(luajit STATIC IMPORTED GLOBAL) |
| 24 | set_target_properties(luajit PROPERTIES |
| 25 | IMPORTED_LOCATION "${LUAJIT_LIB}" |
| 26 | INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/include" |
| 27 | ) |
| 28 | |
| 29 | if(UNIX) |
| 30 | target_link_libraries(luajit INTERFACE m dl) |
| 31 | endif() |