make make translations create the translations
authorDuncan Mac-Vicar P <dmacvicar@suse.de>
Mon, 26 Feb 2007 18:54:26 +0000 (18:54 +0000)
committerDuncan Mac-Vicar P <dmacvicar@suse.de>
Mon, 26 Feb 2007 18:54:26 +0000 (18:54 +0000)
but dont touch the source tree to update
.mo files with new translation strings.

provide make update_translations to update
back the .mo files.

CMakeLists.txt
cmake/modules/DefineInstallationPaths.cmake [deleted file]
cmake/modules/FindGettext.cmake
libzypp.spec.cmake
po/CMakeLists.txt
tools/registration/CMakeLists.txt

index 6941554..ddd4e51 100644 (file)
@@ -1,5 +1,15 @@
 PROJECT(libzypp)
 
+# Library
+IF ( ${LIB_SUFFIX} )
+  SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" )
+ELSE ( ${LIB_SUFFIX} )
+  IF ( EXISTS "${CMAKE_INSTALL_PREFIX}/lib64" )
+    SET( LIB_SUFFIX "64" )
+  ENDIF ( EXISTS "${CMAKE_INSTALL_PREFIX}/lib64" )
+  SET ( LIB_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}" )
+ENDIF ( ${LIB_SUFFIX} )
+MESSAGE(STATUS "Libraries will be installed in ${LIB_INSTALL_DIR}" )
 ####################################################################
 # CONFIGURATION                                                    #
 ####################################################################
@@ -41,10 +51,8 @@ INCLUDE(CPack)
 
 ####################################################################
 
-INCLUDE(DefineInstallationPaths)
-
 SET( DOC_INSTALL_DIR
-   "${SHARE_INSTALL_PREFIX}/doc/packages/${PACKAGE}"
+   "${CMAKE_INSTALL_PREFIX}/share/doc/packages/${PACKAGE}"
    CACHE PATH "The install dir for documentation (default prefix/share/doc/packages/${PACKAGE})"
    FORCE
 )
diff --git a/cmake/modules/DefineInstallationPaths.cmake b/cmake/modules/DefineInstallationPaths.cmake
deleted file mode 100644 (file)
index 5c4caf7..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-if (UNIX)
-  IF (NOT APPLICATION_NAME)
-    MESSAGE(STATUS "${PROJECT_NAME} is used as APPLICATION_NAME")
-    SET(APPLICATION_NAME ${PROJECT_NAME})
-  ENDIF (NOT APPLICATION_NAME)
-
-  # Suffix for Linux
-  SET(LIB_SUFFIX
-    CACHE STRING "Define suffix of directory name (32/64)"
-  )
-
-  SET(EXEC_INSTALL_PREFIX
-    "${CMAKE_INSTALL_PREFIX}"
-    CACHE PATH  "Base directory for executables and libraries"
-    FORCE
-  )
-  SET(SHARE_INSTALL_PREFIX
-    "${CMAKE_INSTALL_PREFIX}/share"
-    CACHE PATH "Base directory for files which go to share/"
-    FORCE
-  )
-  SET(DATA_INSTALL_PREFIX
-    "${SHARE_INSTALL_PREFIX}/${APPLICATION_NAME}"
-    CACHE PATH "The parent directory where applications can install their data" FORCE)
-
-  # The following are directories where stuff will be installed to
-  SET(BIN_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/bin"
-    CACHE PATH "The ${APPLICATION_NAME} binary install dir (default prefix/bin)"
-    FORCE
-  )
-  SET(SBIN_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/sbin"
-    CACHE PATH "The ${APPLICATION_NAME} sbin install dir (default prefix/sbin)"
-    FORCE
-  )
-  SET(LIB_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX}"
-    CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/lib)"
-    FORCE
-  )
-  SET(LIBEXEC_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/libexec"
-    CACHE PATH "The subdirectory relative to the install prefix where libraries will be installed (default is prefix/libexec)"
-    FORCE
-  )
-  SET(PLUGIN_INSTALL_DIR
-    "${LIB_INSTALL_DIR}/${APPLICATION_NAME}"
-    CACHE PATH "The subdirectory relative to the install prefix where plugins will be installed (default is prefix/lib/${APPLICATION_NAME})"
-    FORCE
-  )
-  SET(INCLUDE_INSTALL_DIR
-    "${CMAKE_INSTALL_PREFIX}/include"
-    CACHE PATH "The subdirectory to the header prefix (default prefix/include)"
-    FORCE
-  )
-
-  SET(DATA_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}"
-    CACHE PATH "The parent directory where applications can install their data (default prefix/share/${APPLICATION_NAME})"
-    FORCE
-  )
-  SET(HTML_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}/doc/HTML"
-    CACHE PATH "The HTML install dir for documentation (default data/doc/html)"
-    FORCE
-  )
-  SET(ICON_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}/icons"
-    CACHE PATH "The icon install dir (default data/icons/)"
-    FORCE
-  )
-  SET(SOUND_INSTALL_DIR
-    "${DATA_INSTALL_PREFIX}/sounds"
-    CACHE PATH "The install dir for sound files (default data/sounds)"
-    FORCE
-  )
-
-  SET(LOCALE_INSTALL_DIR
-    "${SHARE_INSTALL_PREFIX}/locale"
-    CACHE PATH "The install dir for translations (default prefix/share/locale)"
-    FORCE
-  )
-
-  SET(XDG_APPS_DIR
-    "${SHARE_INSTALL_PREFIX}/applications/"
-    CACHE PATH "The XDG apps dir"
-    FORCE
-  )
-  SET(XDG_DIRECTORY_DIR
-    "${SHARE_INSTALL_PREFIX}/desktop-directories"
-    CACHE PATH "The XDG directory"
-    FORCE
-  )
-
-  SET(SYSCONF_INSTALL_DIR
-    "${EXEC_INSTALL_PREFIX}/etc"
-    CACHE PATH "The ${APPLICATION_NAME} sysconfig install dir (default prefix/etc)"
-    FORCE
-  )
-  SET(MAN_INSTALL_DIR
-    "${SHARE_INSTALL_PREFIX}/man"
-    CACHE PATH "The ${APPLICATION_NAME} man install dir (default prefix/man)"
-    FORCE
-  )
-  SET(INFO_INSTALL_DIR
-    "${SHARE_INSTALL_PREFIX}/info"
-    CACHE PATH "The ${APPLICATION_NAME} info install dir (default prefix/info)"
-    FORCE
-  )
-endif (UNIX)
-
-if (WIN32)
-  # Same same
-  SET(BIN_INSTALL_DIR .)
-  SET(SBIN_INSTALL_DIR .)
-  SET(LIB_INSTALL_DIR .)
-  SET(PLUGIN_INSTALL_DIR plugins)
-  SET(HTML_INSTALL_DIR doc/HTML)
-  SET(ICON_INSTALL_DIR .)
-  SET(SOUND_INSTALL_DIR .)
-  SET(LOCALE_INSTALL_DIR lang)
-endif (WIN32)
-
index 5538950..9e21738 100644 (file)
@@ -16,13 +16,13 @@ FIND_PROGRAM(GETTEXT_MSGMERGE_EXECUTABLE msgmerge)
 
 FIND_PROGRAM(GETTEXT_MSGFMT_EXECUTABLE msgfmt)
 
-MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
+MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile )
 
    SET(_gmoFiles)
    GET_FILENAME_COMPONENT(_potBasename ${_potFile} NAME_WE)
    GET_FILENAME_COMPONENT(_absPotFile ${_potFile} ABSOLUTE)
 
-   MESSAGE( STATUS "pot: ${_potFile} converted to ${_potBasename}")
+#   MESSAGE( STATUS "pot: ${_potFile} converted to ${_potBasename}")
 
    SET(_addToAll)
    IF(${_firstPoFile} STREQUAL "ALL")
@@ -35,12 +35,19 @@ MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
       GET_FILENAME_COMPONENT(_abs_PATH ${_absFile} PATH)
       GET_FILENAME_COMPONENT(_lang ${_absFile} NAME_WE)
       SET(_gmoFile ${CMAKE_CURRENT_BINARY_DIR}/${_lang}.gmo)
-
+      SET( updatedPos "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po" ${updatedPos} )
+      ADD_CUSTOM_COMMAND( 
+         OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po"
+         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet -o "${CMAKE_CURRENT_BINARY_DIR}/${_lang}.po" -s ${_absFile} ${_absPotFile}
+         DEPENDS ${_potFile}
+      )
+      
       ADD_CUSTOM_COMMAND( 
          OUTPUT ${_gmoFile} 
-         COMMAND ${GETTEXT_MSGMERGE_EXECUTABLE} --quiet --update --backup=none -s ${_absFile} ${_absPotFile}
          COMMAND ${GETTEXT_MSGFMT_EXECUTABLE} -o ${_gmoFile} ${_absFile}
-         DEPENDS ${_absPotFile} ${_absFile} 
+         DEPENDS ${_absPotFile} ${_absFile}
       )
 
       INSTALL(FILES ${_gmoFile} DESTINATION share/locale/${_lang}/LC_MESSAGES RENAME ${_potBasename}.mo) 
@@ -48,10 +55,23 @@ MACRO(GETTEXT_CREATE_TRANSLATIONS _potFile _firstPoFile)
 
    ENDFOREACH (_currentPoFile )
 
-   ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles})
-
+   ADD_CUSTOM_TARGET(translations ${_addToAll} DEPENDS ${_gmoFiles} ${updatedPos})
+#ADD_CUSTOM_TARGET(update_translations ${_addToAll} DEPENDS ${updatedPos} )
 ENDMACRO(GETTEXT_CREATE_TRANSLATIONS )
 
+MACRO(UPDATE_TRANSLATIONS)
+  FILE( GLOB NEW_PO_FILES ${CMAKE_BINARY_DIR}/po/*.po )
+  FOREACH (currentPoFile ${NEW_PO_FILES})
+    GET_FILENAME_COMPONENT( lang ${currentPoFile} NAME_WE)
+    ADD_CUSTOM_COMMAND( 
+         OUTPUT "${CMAKE_SOURCE_DIR}/po/${lang}.po"
+         COMMAND ${CMAKE_COMMAND} -E copy_if_different ${currentPoFile} "${CMAKE_SOURCE_DIR}/po/${lang}.po"
+         DEPENDS ${currentPoFile}
+    )
+  ENDFOREACH (currentPoFile )
+  ADD_CUSTOM_TARGET(update_translations ${_addToAll} DEPENDS ${NEW_PO_FILES} )
+ENDMACRO(UPDATE_TRANSLATIONS)
+
 IF (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
    SET(GETTEXT_FOUND TRUE)
 ELSE (GETTEXT_MSGMERGE_EXECUTABLE AND GETTEXT_MSGFMT_EXECUTABLE )
index bb3af1b..a968689 100644 (file)
@@ -91,6 +91,7 @@ make -C doc/autodoc install DESTDIR=$RPM_BUILD_ROOT
 %suse_update_desktop_file -G "" -C "" package-manager
 make -C po install DESTDIR=$RPM_BUILD_ROOT
 # Create filelist with translatins
+cd ..
 %{find_lang} zypp
 
 
@@ -121,7 +122,7 @@ make -C po install DESTDIR=$RPM_BUILD_ROOT
 %{_docdir}/%{name}
 %dir %{prefix}/include/zypp
 %{prefix}/include/zypp/*
-%{prefix}/share/cmake/Modules/FindLibzypp.cmake
+%{prefix}/share/cmake/Modules/FindZypp.cmake
 %{_libdir}/pkgconfig/libzypp.pc
 
 %changelog -n libzypp
index 086042e..7fdc197 100644 (file)
@@ -1,3 +1,4 @@
 
 FILE( GLOB LIBZYPP_PO_FILES ${CMAKE_SOURCE_DIR}/po/*.po )
 GETTEXT_CREATE_TRANSLATIONS( "${CMAKE_SOURCE_DIR}/po/zypp.pot" ${LIBZYPP_PO_FILES} )
+UPDATE_TRANSLATIONS()
\ No newline at end of file
index 376648b..a895650 100644 (file)
@@ -8,4 +8,4 @@ ADD_EXECUTABLE( zypp-querypool ${querypool_SRC} )
 TARGET_LINK_LIBRARIES( zypp-querypool zypp )
 TARGET_LINK_LIBRARIES( zypp-querypool xml2 )
 
-INSTALL(TARGETS zypp-querypool RUNTIME DESTINATION ${LIB_INSTALL_DIR}/zypp )
\ No newline at end of file
+INSTALL(TARGETS zypp-querypool RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/lib/zypp )
\ No newline at end of file