From 0320b7fd742b3b03546b2b78ea806e9156c5f471 Mon Sep 17 00:00:00 2001 From: Didier Raboud Date: Mon, 31 Dec 2012 11:48:57 +0100 Subject: [PATCH] Inject translations in level files at build time --- CMakeLists.txt | 3 ++- levels/CMakeLists.txt | 18 ++++++++++++++++++ 2 files changed, 20 insertions(+), 1 deletion(-) create mode 100644 levels/CMakeLists.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index bdc8b6f4..0aaabcd2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,9 +8,10 @@ install(DIRECTORY ai DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY fonts DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY help DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY icons DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) -install(DIRECTORY levels DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY models DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) #install(DIRECTORY models-new DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY music DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY sounds DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) install(DIRECTORY textures DESTINATION ${COLOBOT_INSTALL_DATA_DIR}) + +add_subdirectory(levels) diff --git a/levels/CMakeLists.txt b/levels/CMakeLists.txt new file mode 100644 index 00000000..17e463b1 --- /dev/null +++ b/levels/CMakeLists.txt @@ -0,0 +1,18 @@ +cmake_minimum_required(VERSION 2.8) + +# Translate translatable material +find_program(PO4A po4a) + +if(PO4A) + add_custom_command(OUTPUT levels_i18n + COMMAND ./gen_levels_xml.sh + COMMAND touch ${CMAKE_CURRENT_BINARY_DIR}/levels_i18n + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} + COMMENT "Handle level instruction translations" + ) + add_custom_target(translate_levels ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/levels_i18n) +endif() + +file(GLOB levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/*.txt") +list(REMOVE_ITEM levelfiles "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt") +install(FILES ${levelfiles} DESTINATION ${COLOBOT_INSTALL_DATA_DIR}/levels/)