diff options
-rw-r--r-- | po/CMakeLists.txt | 49 | ||||
-rw-r--r-- | src/CMakeLists.txt | 5 |
2 files changed, 42 insertions, 12 deletions
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index 93d94f3a..85cd439d 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -1,13 +1,42 @@ FIND_PACKAGE(Gettext REQUIRED) +# based on the CMake 2.6.3 GETTEXT_CREATE_TRANSLATIONS +# we need our own version because the upstream one contains +# a call to msgmerge (updating po files) which can't be +# disabled +MACRO(TMW_GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFileArg) + # make it a real variable, so we can modify it here + SET(_firstPoFile "${_firstPoFileArg}") + + SET(_gmoFiles) + GET_FILENAME_COMPONENT(_potBasename ${_potFile} NAME_WE) + GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE) + + SET(_addToAll) + IF(${_firstPoFile} STREQUAL "ALL") + SET(_addToAll "ALL") + SET(_firstPoFile) + ENDIF(${_firstPoFile} STREQUAL "ALL") + + FOREACH (_currentPoFile ${_firstPoFile} ${ARGN}) + GET_FILENAME_COMPONENT(_absFile ${_currentPoFile} ABSOLUTE) + GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH) + GET_FILENAME_COMPONENT(_lang ${_absFile} NAME_WE) + SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo) + + ADD_CUSTOM_COMMAND( + OUTPUT ${_gmoFile} + COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile} + DEPENDS ${_absPotFile} ${_absFile} + ) + + INSTALL(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo) + SET(_gmoFiles ${_gmoFiles} ${_gmoFile}) + + ENDFOREACH (_currentPoFile ) + + ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles}) +ENDMACRO(TMW_GETTEXT_CREATE_TRANSLATIONS ) + FILE(GLOB POFILES *.po) -GETTEXT_CREATE_TRANSLATIONS(tmw.pot ${POFILES}) -# This is an ugly hack to enable building of translations with -# the default target due to a bug in GETTEXT_CREATE_TRANSLATIONS. -# The bug has been fixed in recent CMake 2.6.3. Once 2.6.3 is widely -# deployed the above line should be changed to: -# GETTEXT_CREATE_TRANSLATIONS(tmw.pot ALL ${POFILES}) -# and the following two lines removed -# 2009-04-08 Bernd Wachter <bwachter-tmw@lart.info> -ADD_CUSTOM_TARGET(transfix ALL) -ADD_DEPENDENCIES(transfix translations) +TMW_GETTEXT_CREATE_TRANSLATIONS(tmw.pot ALL ${POFILES}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index a5b33412..615a0975 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -13,8 +13,6 @@ FIND_PACKAGE(PNG REQUIRED) SET(FLAGS "-DPACKAGE_VERSION=\\\"${VERSION}\\\"") SET(FLAGS "${FLAGS} -DPKG_DATADIR=\\\"${PKG_DATADIR}/\\\"") SET(FLAGS "${FLAGS} -DLOCALEDIR=\\\"${LOCALEDIR}/\\\"") -SET(FLAGS_EA "${FLAGS} -DEATHENA_SUPPORT") -SET(FLAGS_TMW "${FLAGS} -DTMWSERV_SUPPORT") SET(GUICHAN_COMPONENTS "SDL") FIND_PACKAGE(Guichan REQUIRED ${GUICHAN_COMPONENTS}) @@ -576,5 +574,8 @@ FOREACH(program ${PROGRAMS}) INSTALL(TARGETS ${program} RUNTIME DESTINATION ${PKG_BINDIR}) ENDFOREACH(program) +SET(FLAGS_EA "${FLAGS} -DEATHENA_SUPPORT") +SET(FLAGS_TMW "${FLAGS} -DTMWSERV_SUPPORT") + SET_TARGET_PROPERTIES(tmw PROPERTIES COMPILE_FLAGS "${FLAGS_TMW}") SET_TARGET_PROPERTIES(tmw-ea PROPERTIES COMPILE_FLAGS "${FLAGS_EA}") |