From be1151c95f983f63088f7c3fa45da82083029747 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sl=C3=A1vek=20Banko?= Date: Thu, 3 Jun 2021 15:05:10 +0200 Subject: [PATCH] tde_add_project_translations: Add common rules for generating and installing project translations. 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 8f2906a763ad3bea3819dfc8588b32685c53e65c) --- modules/TDEMacros.cmake | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake index fcad5b4..4113105 100644 --- a/modules/TDEMacros.cmake +++ b/modules/TDEMacros.cmake @@ -1467,6 +1467,33 @@ macro( tde_add_kdeinit_executable _target ) endmacro( tde_add_kdeinit_executable ) +################################################# +##### +##### tde_add_project_translations +##### +##### Macro for standard processing and installation of translations. +##### This is designed for ordinary modules - as an applications, not for core modules. + +function( tde_add_project_translations ) + + 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 ) + 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( ) + +endfunction() + + ################################################# ##### ##### tde_create_translation