summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
diff options
context:
space:
mode:
authorskal <pascal.massimino@gmail.com>2026-01-31 14:50:19 +0100
committerskal <pascal.massimino@gmail.com>2026-01-31 14:50:19 +0100
commite96f282d77bd114493c8d9097c7fb7eaaad2338b (patch)
treecb658d5bdba4dde9ae2ed43f24d56aeca6f1057d /CMakeLists.txt
parent2a1b4e231ea9720d27fd30b6fe0614b2accac983 (diff)
build: Add pack_source target to create complete source archive
Adds a 'pack_source' CMake target that creates 'demo_all.tgz' using tar. This includes all source files, third-party dependencies (even those ignored by git), and submodules, ensuring a self-contained offline build package.
Diffstat (limited to 'CMakeLists.txt')
-rw-r--r--CMakeLists.txt14
1 files changed, 14 insertions, 0 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 81103f8..7030152 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -282,3 +282,17 @@ add_custom_target(final
COMMENT "Generating assets and performing final assembly (crunching)..."
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
)
+
+# Pack Source Target
+add_custom_target(pack_source
+ COMMAND tar -czf demo_all.tgz
+ --exclude=.git
+ --exclude=build*
+ --exclude=.gemini*
+ --exclude=*.tgz
+ --exclude=*.zip
+ --exclude=.DS_Store
+ .
+ COMMENT "Packing entire project source (including submodules) into demo_all.tgz..."
+ WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+)