diff options
author | rikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2010-10-02 19:58:55 +0000 |
---|---|---|
committer | rikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220> | 2010-10-02 19:58:55 +0000 |
commit | faf8136eb0ffa70ee5d9494b4b387c0aabaac8b5 (patch) | |
tree | e2cdd914ff2b3be4c97a0d3ffb150ab13068f3d1 /po/CMakeLists.txt | |
parent | cf3d13d788278d4989fe0f0287fc224087d36f32 (diff) | |
download | navit-faf8136eb0ffa70ee5d9494b4b387c0aabaac8b5.tar.gz |
Add:core:Initial support for cmake build system. This first stage partly supports windows and linux platforms.
git-svn-id: http://svn.code.sf.net/p/navit/code/trunk/navit@3589 ffa7fe5e-494d-0410-b361-a75ebd5db220
Diffstat (limited to 'po/CMakeLists.txt')
-rw-r--r-- | po/CMakeLists.txt | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt new file mode 100644 index 000000000..e73c79aca --- /dev/null +++ b/po/CMakeLists.txt @@ -0,0 +1,53 @@ +FIND_PROGRAM(XGETTEXT xgettext) + +set(POTFILES + ${PROJECT_SOURCE_DIR}/navit/main.c + ${PROJECT_SOURCE_DIR}/navit/navigation.c + ${PROJECT_SOURCE_DIR}/navit/navit.c + ${PROJECT_SOURCE_DIR}/navit/popup.c + ${PROJECT_SOURCE_DIR}/navit/country.c + ${PROJECT_SOURCE_DIR}/navit/gui/gtk/destination.c + ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_action.c + ${PROJECT_SOURCE_DIR}/navit/gui/gtk/gui_gtk_statusbar.c + ${PROJECT_SOURCE_DIR}/navit/gui/internal/gui_internal.c + navit_shipped.c +) + +ADD_CUSTOM_COMMAND( + OUTPUT navit_shipped.c + DEPENDS ${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml + COMMAND ${CMAKE_COMMAND} -D SRC=${PROJECT_SOURCE_DIR}/navit/navit_shipped.xml -D DST=${CMAKE_CURRENT_BINARY_DIR}/navit_shipped.c + -P ${PROJECT_SOURCE_DIR}/cmake/navit_xml_parser.cmake +) + + +ADD_CUSTOM_COMMAND( + OUTPUT navit.po + DEPENDS ${POTFILES} + COMMAND ${XGETTEXT} --no-location --default-domain=navit --add-comments --keyword=_ --keyword=_n ${POTFILES} +) + +FILE(GLOB POIN_FILES RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "*.po.in") + +string(REPLACE ".po.in" "" LANGUAGES "${POIN_FILES}") +string(REPLACE ".po.in" ".mo" MOFILES "${POIN_FILES}") + +foreach (LANG ${LANGUAGES}) + ADD_CUSTOM_COMMAND( + OUTPUT ${LANG}.po + DEPENDS navit.po + COMMAND sed 's/^\"Project-Id-Version:.*/\"Project-Id-Version: ${PACKAGE_STRING}\\\\n\"/' < "${CMAKE_CURRENT_SOURCE_DIR}/${LANG}.po.in" | ${GETTEXT_MSGMERGE_EXECUTABLE} --no-fuzzy-matching --verbose -o "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po" - navit.po + ) +endforeach(LANG ${LANGUAGES}) + +foreach (LANG ${LANGUAGES}) + ADD_CUSTOM_COMMAND( + OUTPUT ${LANG}.mo + DEPENDS ${LANG}.po + COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} --check --verbose --statistics --output-file="${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo" "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.po" + COMMAND ${CMAKE_COMMAND} -E make_directory "${PROJECT_BINARY_DIR}/locale/${LANG}/LC_MESSAGES" + COMMAND ${CMAKE_COMMAND} -E copy_if_different "${CMAKE_CURRENT_BINARY_DIR}/${LANG}.mo" "${PROJECT_BINARY_DIR}/locale/${LANG}/LC_MESSAGES/navit.mo" + ) +endforeach(LANG ${LANGUAGES}) + +add_custom_target(locales ALL DEPENDS ${MOFILES}) |