summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt15
1 files changed, 15 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index c2484af..53d0285 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -137,6 +137,11 @@ add_library(audio STATIC ${AUDIO_SOURCES})
add_library(3d STATIC ${3D_SOURCES})
add_library(gpu STATIC ${GPU_SOURCES})
+# Libraries must wait for asset generation (they include generated/assets.h)
+add_dependencies(audio generate_demo_assets)
+add_dependencies(3d generate_demo_assets)
+add_dependencies(gpu generate_demo_assets)
+
target_include_directories(util PUBLIC ${CORE_INCLUDES})
target_include_directories(procedural PUBLIC ${CORE_INCLUDES})
target_include_directories(audio PUBLIC ${CORE_INCLUDES})
@@ -292,6 +297,12 @@ add_custom_target(generate_tracker_music ALL DEPENDS ${GENERATED_MUSIC_DATA_CC})
pack_assets(assets ${CMAKE_CURRENT_SOURCE_DIR}/assets/final/demo_assets.txt GEN_DEMO_H GEN_DEMO_CC generate_demo_assets)
pack_test_assets(test_assets ${CMAKE_CURRENT_SOURCE_DIR}/assets/final/test_assets_list.txt GEN_TEST_H GEN_TEST_CC generate_test_assets)
+# Mark generated files so CMake always checks if they need rebuilding
+set_source_files_properties(${GEN_DEMO_H} ${GEN_DEMO_CC} PROPERTIES GENERATED TRUE)
+set_source_files_properties(${GEN_TEST_H} ${GEN_TEST_CC} PROPERTIES GENERATED TRUE)
+set_source_files_properties(${GENERATED_TIMELINE_CC} PROPERTIES GENERATED TRUE)
+set_source_files_properties(${GENERATED_MUSIC_DATA_CC} PROPERTIES GENERATED TRUE)
+
#-- - Main Demo -- -
add_demo_executable(demo64k src/main.cc ${PLATFORM_SOURCES} ${GEN_DEMO_CC} ${GENERATED_TIMELINE_CC} ${GENERATED_MUSIC_DATA_CC})
@@ -367,6 +378,10 @@ add_custom_command(
)
add_custom_target(generate_test_demo_music ALL DEPENDS ${GENERATED_TEST_DEMO_MUSIC_CC})
+# Mark test_demo generated files as GENERATED
+set_source_files_properties(${GENERATED_TEST_DEMO_TIMELINE_CC} PROPERTIES GENERATED TRUE)
+set_source_files_properties(${GENERATED_TEST_DEMO_MUSIC_CC} PROPERTIES GENERATED TRUE)
+
# Build executable (uses main demo assets)
add_demo_executable(
test_demo