townengine/apps/twnlua/CMakeLists.txt

41 lines
1.1 KiB
CMake
Raw Normal View History

2024-10-05 21:17:22 +00:00
cmake_minimum_required(VERSION 3.21)
2025-01-29 00:36:15 +00:00
cmake_policy(SET CMP0171 NEW)
2024-10-07 12:52:32 +00:00
project(twnlua LANGUAGES C)
2024-10-05 21:17:22 +00:00
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug)
endif()
2025-01-14 01:47:53 +00:00
add_subdirectory($ENV{TWNROOT} $ENV{TWNROOT}/build)
2024-10-05 21:17:22 +00:00
2025-01-29 00:14:08 +00:00
set(FLAGS
$<$<NOT:$<BOOL:${TWN_FEATURE_DYNLIB_GAME}>>:--no-dynlib-game>
)
add_custom_command(
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/luabind.c
2025-01-29 00:14:08 +00:00
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
2025-01-29 00:36:15 +00:00
CODEGEN
)
add_custom_command(
OUTPUT ${TWN_OUT_DIR}/data/scripts/twnapi.lua
COMMAND ${PYTHON3} ${CMAKE_CURRENT_SOURCE_DIR}/docgen.py $ENV{TWNROOT}/share/twn_api.json > ${TWN_OUT_DIR}/data/scripts/twnapi.lua
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/docgen.py $ENV{TWNROOT}/share/twn_api.json
)
add_custom_target(
twnlua_docgen ALL
DEPENDS ${TWN_OUT_DIR}/data/scripts/twnapi.lua
)
2025-02-08 09:23:35 +00:00
add_compile_definitions(LUA_32BITS=1)
2024-10-05 21:17:22 +00:00
set(SOURCE_FILES
game.c
state.h
)
2025-02-04 04:32:25 +00:00
use_townengine("${SOURCE_FILES}" ${TWN_OUT_DIR})