From 16d6aa1d19415ee4a782baea143c71a9a1bbe02d Mon Sep 17 00:00:00 2001 From: Felix Morgner Date: Tue, 16 Jul 2024 13:23:18 +0200 Subject: res: automatically export UI files --- cmake/Modules/Cambalache.cmake | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 cmake/Modules/Cambalache.cmake (limited to 'cmake/Modules/Cambalache.cmake') diff --git a/cmake/Modules/Cambalache.cmake b/cmake/Modules/Cambalache.cmake new file mode 100644 index 0000000..8f83375 --- /dev/null +++ b/cmake/Modules/Cambalache.cmake @@ -0,0 +1,28 @@ +find_program(CAMBALACHE_BIN "cambalache" REQUIRED) + +function(export_cambalache_files SOURCE_FILE) + set(SINGLE_VALUE_ARGS "") + set(MULTI_VALUE_ARGS "UI_FILES") + cmake_parse_arguments( + PARSE_ARGV 1 + "" + "${OPTIONS}" + "${SINGLE_VALUE_ARGS}" + "${MULTI_VALUE_ARGS}" + ) + + foreach(FILE IN LISTS _UI_FILES) + list(APPEND ABSOULUTE_UI_FILES "${CMAKE_CURRENT_SOURCE_DIR}/${FILE}") + endforeach() + + add_custom_command(OUTPUT + ${ABSOULUTE_UI_FILES} + WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" + COMMAND "${CAMBALACHE_BIN}" + ARGS + "-E" + "${SOURCE_FILE}" + VERBATIM + MAIN_DEPENDENCY "${SOURCE_FILE}" + ) +endfunction() \ No newline at end of file -- cgit v1.2.3