summaryrefslogtreecommitdiff
path: root/po/CMakeLists.txt
diff options
context:
space:
mode:
authorrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-10-02 19:58:55 +0000
committerrikky <rikky@ffa7fe5e-494d-0410-b361-a75ebd5db220>2010-10-02 19:58:55 +0000
commitfaf8136eb0ffa70ee5d9494b4b387c0aabaac8b5 (patch)
treee2cdd914ff2b3be4c97a0d3ffb150ab13068f3d1 /po/CMakeLists.txt
parentcf3d13d788278d4989fe0f0287fc224087d36f32 (diff)
downloadnavit-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.txt53
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})