diff options
author | Aki <please@ignore.pl> | 2022-10-14 00:03:45 +0200 |
---|---|---|
committer | Aki <please@ignore.pl> | 2022-10-14 00:03:45 +0200 |
commit | cef6416226df27b42796b4b5179cb7bc0524e101 (patch) | |
tree | 056c336ebbf54a45bfab66f82fb56675231f98c9 | |
parent | 2757b57e085ffc2613f65e3f4b3ffe33b8054431 (diff) | |
download | starshatter-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.cmake | 9 | ||||
-rw-r--r-- | data/CMakeLists.txt | 12 |
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 ) |