townengine/apps/twnlua/CMakeLists.txt

41 lines
1.1 KiB
CMake
Raw Normal View History

cmake_minimum_required(VERSION 3.30)
2024-10-07 12:52:32 +00:00
project(twnlua LANGUAGES C)
2024-10-05 21:17:22 +00:00
find_package(Python3 COMPONENTS Interpreter)
2024-10-05 21:17:22 +00:00
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE Debug)
endif()
add_subdirectory($ENV{TWNROOT} ${CMAKE_BINARY_DIR}/twn)
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(
2025-02-14 18:07:59 +00:00
OUTPUT ${CMAKE_CURRENT_SOURCE_DIR}/game.c
COMMAND ${Python3_EXECUTABLE} ${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
)
add_custom_command(
OUTPUT ${TWN_OUT_DIR}/data/scripts/twnapi.lua
COMMAND ${Python3_EXECUTABLE} ${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
minilua.c
2024-10-05 21:17:22 +00:00
)
2025-02-04 04:32:25 +00:00
use_townengine("${SOURCE_FILES}" ${TWN_OUT_DIR})