summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSlávek Banko <slavek.banko@axis.cz>2021-06-03 15:05:10 +0200
committerSlávek Banko <slavek.banko@axis.cz>2021-06-03 15:05:10 +0200
commit8f2906a763ad3bea3819dfc8588b32685c53e65c (patch)
tree369eace0a93750556e0b13627e70330d4d106f1d
parent4a3c96b1f355902a706a663e984193d7211d2c79 (diff)
downloadcmake-8f2906a7.tar.gz
cmake-8f2906a7.zip
tde_add_project_translations: Add common rules for generating and installing project translations.
Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
-rw-r--r--modules/TDEMacros.cmake27
1 files changed, 27 insertions, 0 deletions
diff --git a/modules/TDEMacros.cmake b/modules/TDEMacros.cmake
index faf4170..b039f72 100644
--- a/modules/TDEMacros.cmake
+++ b/modules/TDEMacros.cmake
@@ -1656,6 +1656,33 @@ endmacro( tde_add_tdeinit_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
macro( tde_create_translation )