From 3a35b7cfb4127593127a86b302e668e0e007e58c Mon Sep 17 00:00:00 2001 From: Aki Date: Sat, 17 Sep 2022 11:36:24 +0200 Subject: Added cmake function to install resources directly --- cmake/modules/InstallResource.cmake | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) create mode 100644 cmake/modules/InstallResource.cmake diff --git a/cmake/modules/InstallResource.cmake b/cmake/modules/InstallResource.cmake new file mode 100644 index 0000000..2b3176e --- /dev/null +++ b/cmake/modules/InstallResource.cmake @@ -0,0 +1,29 @@ +# Installs content of a downloadable resource target from AddDownloadableResource as-is. For example: +# +# install_resource( +# resource_music +# DESTINATION ${CMAKE_INSTALL_PREFIX}/ +# ) +# +# Will copy the content of the music resource directly into the CMAKE_INSTALL_PREFIX effectively rooting the archive +# content at the prefix itself. + +function(install_resource) + cmake_parse_arguments( + PARSE_ARGV 0 + INSTALL_RESOURCE + "" + "DESTINATION" + "" + ) + if(NOT DEFINED INSTALL_RESOURCE_DESTINATION) + set(INSTALL_RESOURCE_DESTINATION ${CMAKE_INSTALL_DATADIR}/) + endif() + foreach(RESOURCE_TARGET IN ITEMS ${INSTALL_RESOURCE_UNPARSED_ARGUMENTS}) + get_property(RESOURCE_DIRECTORY TARGET ${RESOURCE_TARGET} PROPERTY RESOURCE_DIRECTORY) + install( + DIRECTORY ${RESOURCE_DIRECTORY}/ + DESTINATION ${INSTALL_RESOURCE_DESTINATION} + ) + endforeach() +endfunction() -- cgit v1.1