32 lines
838 B
CMake
32 lines
838 B
CMake
cmake_minimum_required(VERSION 3.21)
|
|
cmake_policy(SET CMP0171 NEW)
|
|
project(twnlua LANGUAGES C)
|
|
|
|
if(NOT CMAKE_BUILD_TYPE)
|
|
set(CMAKE_BUILD_TYPE Debug)
|
|
endif()
|
|
|
|
add_subdirectory($ENV{TWNROOT} $ENV{TWNROOT}/build)
|
|
|
|
set(FLAGS
|
|
$<$<NOT:$<BOOL:${TWN_FEATURE_DYNLIB_GAME}>>:--no-dynlib-game>
|
|
)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/luabind.c
|
|
COMMAND ${PYTHON3} ${CMAKE_CURRENT_SOURCE_DIR}/bindgen.py $ENV{TWNROOT}/share/twn_api.json ${FLAGS} > ${CMAKE_CURRENT_SOURCE_DIR}/luabind.c
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/bindgen.py $ENV{TWNROOT}/share/twn_api.json
|
|
CODEGEN
|
|
)
|
|
|
|
add_compile_definitions(LUA_32BITS)
|
|
|
|
set(SOURCE_FILES
|
|
game.c
|
|
state.h
|
|
minilua.c
|
|
${CMAKE_CURRENT_SOURCE_DIR}/luabind.c
|
|
)
|
|
|
|
use_townengine(${CMAKE_PROJECT_NAME} "${SOURCE_FILES}" ${CMAKE_SOURCE_DIR})
|