From 95dd0ff4c000f3752c5c9112d79de3a4bdaa7b25 Mon Sep 17 00:00:00 2001 From: skal Date: Tue, 17 Feb 2026 11:32:05 +0100 Subject: fix(build): Resolve clean build failure from generated timeline header When starting from a clean tree (where `src/generated/` does not exist), the build would fail with a "file not found" error for `generated/timeline.h`. This was due to an incorrect dependency graph where `gpu.cc` was compiled before its required header was generated. This commit fixes the issue by making the dependency explicit: - Modified `tools/seq_compiler.py` to explicitly generate `timeline.h` alongside `timeline.cc`. - Updated `cmake/DemoCodegen.cmake` to declare both files as `OUTPUT`s of the timeline compilation step. - Added a direct dependency from the `gpu` library target to the `generate_timeline` custom target in `cmake/DemoLibraries.cmake`. - Refactored the generated file paths in `DemoCodegen.cmake` into a single `GENERATED_CODE` variable for improved clarity and future-proofing. --- cmake/DemoLibraries.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'cmake/DemoLibraries.cmake') diff --git a/cmake/DemoLibraries.cmake b/cmake/DemoLibraries.cmake index f1891fb..39cd3f4 100644 --- a/cmake/DemoLibraries.cmake +++ b/cmake/DemoLibraries.cmake @@ -21,9 +21,9 @@ target_include_directories(3d PUBLIC ${CORE_INCLUDES}) add_dependencies(3d generate_demo_assets) # GPU effects library -add_library(gpu STATIC ${GPU_SOURCES}) +add_library(gpu STATIC ${GPU_SOURCES} ${GENERATED_TIMELINE_CC}) target_include_directories(gpu PUBLIC ${CORE_INCLUDES}) -add_dependencies(gpu generate_demo_assets) +add_dependencies(gpu generate_demo_assets generate_timeline) # Note: Static libraries do not strictly need to link dependencies, # but if they did, PRIVATE would propagate to the executable. -- cgit v1.2.3