From b4d2cbe393f2be08eb782706ffdaf5ce05c6e8e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Tue, 24 Mar 2020 14:46:10 +0100 Subject: Add support for LINGUAS for listing translations to install. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Slávek Banko (cherry picked from commit 8adeb4111077df36629317e21fd00066bc00f397) --- doc/CMakeLists.txt | 23 ++++++++++++----------- translations/messages/CMakeLists.txt | 11 +++++++++-- 2 files changed, 21 insertions(+), 13 deletions(-) diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt index a8b8de4..cd4611d 100644 --- a/doc/CMakeLists.txt +++ b/doc/CMakeLists.txt @@ -1,12 +1,13 @@ -################################################# -# -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# +file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * ) +string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" ) -tde_auto_add_subdirectories() +foreach( _dir ${_dirs} ) + if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} AND + EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_dir}/CMakeLists.txt ) + if( "${_dir}" STREQUAL "en" OR + "${_linguas}" MATCHES "^;*$" OR + ";${_linguas};" MATCHES ";${_dir};" ) + add_subdirectory( ${_dir} ) + endif( ) + endif() +endforeach() diff --git a/translations/messages/CMakeLists.txt b/translations/messages/CMakeLists.txt index 34b99fb..75c89f8 100644 --- a/translations/messages/CMakeLists.txt +++ b/translations/messages/CMakeLists.txt @@ -1,7 +1,14 @@ file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po ) +string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" ) foreach( _po ${po_files} ) get_filename_component( _lang ${_po} NAME_WE ) - string( REGEX REPLACE "^([^/]*)/.*" "\\1" _component "${_po}" ) - tde_create_translation( FILES ${_po} LANG ${_lang} OUTPUT_NAME ${_component} ) + if( "${_linguas}" MATCHES "^;*$" OR ";${_linguas};" MATCHES ";${_lang};" ) + if( "${_po}" MATCHES "^([^/]*)/.*" ) + string( REGEX REPLACE "^([^/]*)/.*" "\\1" _component "${_po}" ) + else( ) + set( _component "${PROJECT_NAME}" ) + endif( ) + tde_create_translation( FILES ${_po} LANG ${_lang} OUTPUT_NAME ${_component} ) + endif( ) endforeach( ) -- cgit v1.2.1