diff options
| author | Felix Morgner <felix.morgner@gmail.com> | 2024-07-16 13:23:18 +0200 |
|---|---|---|
| committer | Felix Morgner <felix.morgner@gmail.com> | 2024-07-16 13:59:52 +0200 |
| commit | 16d6aa1d19415ee4a782baea143c71a9a1bbe02d (patch) | |
| tree | c53d819fdf49baa4a6affaa3ef4ad59ab9c23e4e /cmake/Modules | |
| parent | 44d2614a260d2b029a79c59ee7fdd45e1958feb8 (diff) | |
| download | turns-16d6aa1d19415ee4a782baea143c71a9a1bbe02d.tar.xz turns-16d6aa1d19415ee4a782baea143c71a9a1bbe02d.zip | |
res: automatically export UI files
Diffstat (limited to 'cmake/Modules')
| -rw-r--r-- | cmake/Modules/Cambalache.cmake | 28 |
1 files changed, 28 insertions, 0 deletions
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 |
