From 56f70b43fd5d47f1fbd64ba0eec1490f12dfd339 Mon Sep 17 00:00:00 2001 From: Aki Date: Sat, 7 Jan 2023 01:54:40 +0100 Subject: Implemented a CMake function to manage resources --- cmake/modules/AddResources.cmake | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 cmake/modules/AddResources.cmake (limited to 'cmake/modules/AddResources.cmake') diff --git a/cmake/modules/AddResources.cmake b/cmake/modules/AddResources.cmake new file mode 100644 index 0000000..4f4f800 --- /dev/null +++ b/cmake/modules/AddResources.cmake @@ -0,0 +1,27 @@ +function(add_resources RESOURCES_TARGET) + cmake_parse_arguments( + PARSE_ARGV 1 + RESOURCES + "" + "PREFIX" + "FILES" + ) + if(NOT DEFINED RESOURCES_PREFIX) + set(RESOURCES_PREFIX ${CMAKE_BINARY_DIR}) + endif() + foreach(RESOURCES_SOURCE IN ITEMS ${RESOURCES_FILES}) + add_custom_command( + OUTPUT "${RESOURCES_PREFIX}/${RESOURCES_SOURCE}" + DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/${RESOURCES_SOURCE}" + COMMAND + ${CMAKE_COMMAND} -E copy + "${CMAKE_CURRENT_SOURCE_DIR}/${RESOURCES_SOURCE}" + "${RESOURCES_PREFIX}/${RESOURCES_SOURCE}" + ) + endforeach() + list(TRANSFORM RESOURCES_FILES PREPEND "${RESOURCES_PREFIX}/") + add_custom_target( + ${RESOURCES_TARGET} ALL + DEPENDS ${RESOURCES_FILES} + ) +endfunction() -- cgit v1.1