summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt22
1 files changed, 21 insertions, 1 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c7b7508..3812fb7 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -120,6 +120,25 @@ else()
set(ASSET_PACKER_DEPENDS asset_packer)
endif()
+# Sequence Compiler Tool
+add_executable(seq_compiler tools/seq_compiler.cc)
+
+# Configure Timeline Generation
+set(DEMO_SEQ_PATH ${CMAKE_CURRENT_SOURCE_DIR}/assets/demo.seq)
+set(GENERATED_TIMELINE_CC ${CMAKE_CURRENT_BINARY_DIR}/src/timeline.cc)
+
+add_custom_command(
+ OUTPUT ${GENERATED_TIMELINE_CC}
+ COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/src
+ COMMAND $<TARGET_FILE:seq_compiler> ${DEMO_SEQ_PATH} ${GENERATED_TIMELINE_CC}
+ DEPENDS seq_compiler ${DEMO_SEQ_PATH}
+ COMMENT "Compiling demo sequence..."
+)
+
+add_custom_target(generate_timeline ALL
+ DEPENDS ${GENERATED_TIMELINE_CC}
+)
+
# Configure DEMO asset generation
set(DEMO_ASSETS_TXT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/assets/final/demo_assets.txt)
set(GENERATED_DEMO_ASSETS_H ${CMAKE_CURRENT_BINARY_DIR}/src/assets.h)
@@ -170,9 +189,10 @@ add_executable(demo64k
src/util/asset_manager.cc
third_party/glfw3webgpu/glfw3webgpu.c
${GENERATED_DEMO_ASSETS_DATA_CC}
+ ${GENERATED_TIMELINE_CC}
)
-add_dependencies(demo64k generate_demo_assets)
+add_dependencies(demo64k generate_demo_assets generate_timeline)
target_link_libraries(demo64k PRIVATE ${DEMO_LIBS})
target_include_directories(demo64k PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/src)