Review Request 117823: Add ecm_install_po_files_as_qm() function

Aurélien Gâteau agateau at kde.org
Wed Apr 30 16:48:02 UTC 2014


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://git.reviewboard.kde.org/r/117823/
-----------------------------------------------------------

(Updated April 30, 2014, 6:48 p.m.)


Review request for Build System, Extra Cmake Modules and KDE Frameworks.


Changes
-------

- Introduced a new ECMPoQmTools.cmake.
- Reverted ECMCreateQmFromPoFiles.cmake to the version from v0.0.12 (except for the find_package(Qt5LinguistTools)).
- Added unit tests (I created some functions in check_tree.cmake.in which could be useful in other tests).


Repository: extra-cmake-modules


Description
-------

This patch adds a ecm_install_po_files_as_qm() function to ECMCreateQmFromPoFiles.cmake. This function makes it easy to install all the .po files of a Qt-translated framework.

The primary user of this function is the build system of the framework tarballs. The tarballs will ship with a po/ directory which follows the structure expected by ecm_install_po_files_as_qm(). The only necessary change is to add the following lines to the root CMakeLists.txt file:

    if (IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/po")
        ecm_install_po_files_as_qm(po)
    endif()

Since the code checks for the presence of a po/ directory, it can be committed in the framework repository (no need for the tarball release scripts to alter the CMake files), making it easier for developers to reproduce the situation of a released tarball by creating/copying a po/ directory in their working copy.

We need this function (or something similar) because the way we are going to organize po files in the framework tarballs have changed: the current CMake code expects the po files to contain files named '<domain>-<lang>.po', but the final structure is going to be '<lang>/<domain>.po'.

This new function works similarly to ki18n_install() ( https://git.reviewboard.kde.org/r/117804/ ) and kdoctools_install() ( https://git.reviewboard.kde.org/r/117805/ )


Diffs (updated)
-----

  modules/ECMCreateQmFromPoFiles.cmake 7457fc5 
  modules/ECMPoQmTools.cmake PRE-CREATION 
  modules/ECMQmLoader.cpp.in 2d8531f 
  tests/CMakeLists.txt 171f44a 
  tests/ECMPoQmToolsTest/CMakeLists.txt PRE-CREATION 
  tests/ECMPoQmToolsTest/check_tree.cmake.in PRE-CREATION 
  tests/ECMPoQmToolsTest/po/es/install-test.po PRE-CREATION 
  tests/ECMPoQmToolsTest/po/fr/install-test.po PRE-CREATION 
  tests/ECMPoQmToolsTest/test.po PRE-CREATION 

Diff: https://git.reviewboard.kde.org/r/117823/diff/


Testing
-------

Modified kbookmarks to call ecm_install_po_files_as_qm(). Works as expected.


Thanks,

Aurélien Gâteau

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.kde.org/pipermail/kde-frameworks-devel/attachments/20140430/eb43d99d/attachment-0001.html>


More information about the Kde-frameworks-devel mailing list