diff options
Diffstat (limited to 'po/CMakeLists.txt')
-rw-r--r-- | po/CMakeLists.txt | 17 |
1 files changed, 13 insertions, 4 deletions
diff --git a/po/CMakeLists.txt b/po/CMakeLists.txt index ad36a01..75c89f8 100644 --- a/po/CMakeLists.txt +++ b/po/CMakeLists.txt @@ -1,5 +1,14 @@ -file( GLOB _srcs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po ) +file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.po ) +string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" ) -if( _srcs ) - tde_create_translation( LANG auto OUTPUT_NAME ${PROJECT_NAME} ) -endif( ) +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( ) |