summaryrefslogtreecommitdiff
path: root/cmake/DemoLibraries.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/DemoLibraries.cmake')
-rw-r--r--cmake/DemoLibraries.cmake30
1 files changed, 30 insertions, 0 deletions
diff --git a/cmake/DemoLibraries.cmake b/cmake/DemoLibraries.cmake
new file mode 100644
index 0000000..3a2207a
--- /dev/null
+++ b/cmake/DemoLibraries.cmake
@@ -0,0 +1,30 @@
+# Subsystem Library Targets
+# Defines the 5 core static libraries
+
+# Utility library
+add_library(util STATIC ${UTIL_SOURCES})
+add_dependencies(util generate_demo_assets generate_test_assets)
+target_include_directories(util PUBLIC ${CORE_INCLUDES})
+
+# Procedural generation library
+add_library(procedural STATIC ${PROCEDURAL_SOURCES})
+target_include_directories(procedural PUBLIC ${CORE_INCLUDES})
+
+# Audio synthesis and processing library
+add_library(audio STATIC ${AUDIO_SOURCES})
+add_dependencies(audio generate_demo_assets)
+target_include_directories(audio PUBLIC ${CORE_INCLUDES})
+
+# 3D rendering library
+add_library(3d STATIC ${3D_SOURCES})
+add_dependencies(3d generate_demo_assets)
+target_include_directories(3d PUBLIC ${CORE_INCLUDES})
+
+# GPU effects library
+add_library(gpu STATIC ${GPU_SOURCES})
+add_dependencies(gpu generate_demo_assets)
+target_include_directories(gpu PUBLIC ${CORE_INCLUDES})
+
+# Note: Static libraries do not strictly need to link dependencies,
+# but if they did, PRIVATE would propagate to the executable.
+# We will link them in the executable to be explicit and avoid order issues.