From 1360f2364c769e13a937c5a3b271de3ee4956f09 Mon Sep 17 00:00:00 2001
From: Slávek Banko <slavek.banko@axis.cz>
Date: Mon, 6 Apr 2020 12:26:06 +0200
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 <slavek.banko@axis.cz>
(cherry picked from commit 1144a3b3e7252f2a39271b1f392bb2f8dee2105e)
---
 doc/CMakeLists.txt | 15 ++++++++++++++-
 po/CMakeLists.txt  | 17 +++++++++++++----
 2 files changed, 27 insertions(+), 5 deletions(-)

diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 6d0aa9f..70d6348 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1 +1,14 @@
-tde_auto_add_subdirectories( )
+file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * )
+string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
+
+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
+        "${_dir}" STREQUAL "man" OR
+        "${_linguas}" MATCHES "^;*$" OR
+        ";${_linguas};" MATCHES ";${_dir};" )
+      add_subdirectory( ${_dir} )
+    endif( )
+  endif()
+endforeach()
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( )
-- 
cgit v1.2.3

