28 lines
1.3 KiB
CMake
28 lines
1.3 KiB
CMake
include("${CMAKE_SOURCE_DIR}/config/scripts_to_embed.cmake")
|
|
|
|
set(SCRIPT_SOURCES_C)
|
|
|
|
file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/generated)
|
|
|
|
foreach(script_source ${SCRIPT_SOURCES})
|
|
get_filename_component(GEN_BASE_NAME ${script_source} NAME_WLE)
|
|
set(file_c "script_${GEN_BASE_NAME}.c")
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_BINARY_DIR}/generated/${file_c}
|
|
COMMAND ${LUA_BINARY} ${CMAKE_SOURCE_DIR}/src/lua2c.lua ${script_source} ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_BINARY_DIR}/generated
|
|
VERBATIM
|
|
COMMENT "Generating: ${CMAKE_BINARY_DIR}/generated/${file_c}"
|
|
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${script_source}
|
|
)
|
|
list(APPEND SCRIPT_BASE_NAMES ${GEN_BASE_NAME})
|
|
list(APPEND SCRIPT_SOURCES_C ${CMAKE_BINARY_DIR}/generated/${file_c})
|
|
endforeach()
|
|
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_BINARY_DIR}/generated/generated_scripts.c
|
|
COMMAND ${LUA_BINARY} ${CMAKE_SOURCE_DIR}/src/embedded_generate.lua ${CMAKE_BINARY_DIR}/generated ${SCRIPT_BASE_NAMES}
|
|
COMMENT "Generating: ${CMAKE_BINARY_DIR}/generated/generated_scripts.c"
|
|
DEPENDS ${SCRIPT_SOURCES_C} ${CMAKE_SOURCE_DIR}/src/embedded_generate.lua
|
|
)
|
|
|
|
add_custom_target(generate_scripts DEPENDS ${CMAKE_BINARY_DIR}/generated/generated_scripts.c)
|