summaryrefslogtreecommitdiffhomepage
path: root/cmake
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 /cmake
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.
Diffstat (limited to 'cmake')
-rw-r--r--cmake/modules/AddDownloadableResource.cmake9
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}