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 /cmake | |
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.
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/modules/AddDownloadableResource.cmake | 9 |
1 files changed, 7 insertions, 2 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} |