summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
authorAki <please@ignore.pl>2022-10-14 00:03:45 +0200
committerAki <please@ignore.pl>2022-10-14 00:03:45 +0200
commitcef6416226df27b42796b4b5179cb7bc0524e101 (patch)
tree056c336ebbf54a45bfab66f82fb56675231f98c9
parent2757b57e085ffc2613f65e3f4b3ffe33b8054431 (diff)
downloadstarshatter-cef6416226df27b42796b4b5179cb7bc0524e101.zip
starshatter-cef6416226df27b42796b4b5179cb7bc0524e101.tar.gz
starshatter-cef6416226df27b42796b4b5179cb7bc0524e101.tar.bz2
Added flag for downloadable resource to include them in default build target
This allows to make sure that resources that are not part of datafile will get extracted before install target is executed.
-rw-r--r--cmake/modules/AddDownloadableResource.cmake9
-rw-r--r--data/CMakeLists.txt12
2 files changed, 13 insertions, 8 deletions
diff --git a/cmake/modules/AddDownloadableResource.cmake b/cmake/modules/AddDownloadableResource.cmake
index 5880aa0..807aa18 100644
--- a/cmake/modules/AddDownloadableResource.cmake
+++ b/cmake/modules/AddDownloadableResource.cmake
@@ -17,6 +17,8 @@
# * DIRECTORY defaults to '<target_name>.d'
# * BASE_URL defaults to 'https://ftp.ignore.pl/starshatter/resource/latest'
#
+# ALL flag can be specified to include resource target in default build target.
+#
# Targets are designed to be used with AddDatafile targets via their RESOURCES option:
#
# add_downloadable_resource(resource_shatter ...)
@@ -36,10 +38,13 @@ function(add_downloadable_resource RESOURCE_TARGET)
cmake_parse_arguments(
PARSE_ARGV 1
RESOURCE
- ""
+ "ALL"
"ARCHIVE;DIRECTORY;BASE_URL;SHA1"
""
)
+ if(RESOURCE_ALL)
+ set(RESOURCE_ALL_ARG ALL)
+ endif()
if(NOT DEFINED RESOURCE_ARCHIVE)
set(RESOURCE_ARCHIVE ${RESOURCE_TARGET}.tar.xz)
endif()
@@ -75,7 +80,7 @@ function(add_downloadable_resource RESOURCE_TARGET)
${CMAKE_COMMAND} -E chdir ${RESOURCE_DIRECTORY}
${CMAKE_COMMAND} -E tar xf ${RESOURCE_ARCHIVE}
)
- add_custom_target(${RESOURCE_TARGET} DEPENDS ${RESOURCE_DIRECTORY})
+ add_custom_target(${RESOURCE_TARGET} ${RESOURCE_ALL_ARG} DEPENDS ${RESOURCE_DIRECTORY})
set_property(
TARGET ${RESOURCE_TARGET}
PROPERTY RESOURCE_DIRECTORY ${RESOURCE_DIRECTORY}
diff --git a/data/CMakeLists.txt b/data/CMakeLists.txt
index 4fcd4e3..f8dbc47 100644
--- a/data/CMakeLists.txt
+++ b/data/CMakeLists.txt
@@ -2,32 +2,32 @@ include(AddDatafile)
include(AddDownloadableResource)
include(InstallResource)
add_downloadable_resource(
- resource_content
+ resource_content ALL
SHA1 3b4ffe85a9445e39366c5b503ad192388fab0d55
ARCHIVE content.tar.xz
)
add_downloadable_resource(
- resource_shatter
+ resource_shatter ALL
SHA1 bbed14649213a45499e0a158142f19fd619a54af
ARCHIVE shatter.tar.xz
)
add_downloadable_resource(
- resource_start
+ resource_start ALL
SHA1 71e5dba8b5d52e5875391a65a6d28b39ac84fedc
ARCHIVE start.tar.xz
)
add_downloadable_resource(
- resource_vox_campaign
+ resource_vox_campaign ALL
SHA1 bdeb71b2ece4d14fa586ce44147497781120fa8c
ARCHIVE vox_campaign.tar.xz
)
add_downloadable_resource(
- resource_vox_music
+ resource_vox_music ALL
SHA1 563f05cf62b2eb029ec56efc7c91992d972d20ff
ARCHIVE vox_music.tar.xz
)
add_downloadable_resource(
- resource_vox_original
+ resource_vox_original ALL
SHA1 9fd36681c7a51d39f91aae84ffc3e69cfe2b80ce
ARCHIVE vox_original.tar.xz
)