summaryrefslogtreecommitdiffstats
path: root/doc/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/CMakeLists.txt')
-rw-r--r--doc/CMakeLists.txt73
1 files changed, 70 insertions, 3 deletions
diff --git a/doc/CMakeLists.txt b/doc/CMakeLists.txt
index 185eab9..0adf3d2 100644
--- a/doc/CMakeLists.txt
+++ b/doc/CMakeLists.txt
@@ -1,3 +1,70 @@
-add_subdirectory( man )
-tde_conditional_add_subdirectory( WITH_TDE en )
-tde_conditional_add_subdirectory( WITH_TDE tdeioslave )
+
+if( WITH_TDE )
+
+string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
+
+# base documentation
+file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * )
+list( REMOVE_ITEM _dirs html man tdeioslave )
+
+foreach( _dir IN LISTS _dirs )
+ if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${_dir}
+ AND ( "${_dir}" STREQUAL "en" OR
+ "${_linguas}" MATCHES "^;*$" OR
+ ";${_linguas};" MATCHES ";${_dir};" ))
+ file( GLOB _doc_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${_dir} ${_dir}/*.docbook )
+ if( _doc_files )
+ list( FIND _doc_files "index.docbook" _find_index )
+ if( -1 EQUAL _find_index )
+ set( _noindex "NOINDEX" )
+ else()
+ unset( _noindex )
+ endif()
+ tde_create_handbook(
+ SOURCE_BASEDIR ${_dir}
+ ${_noindex}
+ LANG ${_dir}
+ DESTINATION ${PROJECT_NAME}
+ )
+ endif()
+ endif()
+endforeach()
+
+
+# tdeioslave documentation
+file( GLOB _dirs RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/tdeioslave tdeioslave/*/* )
+
+foreach( _dir IN LISTS _dirs )
+ get_filename_component( _lang ${_dir} PATH )
+ get_filename_component( _protocol ${_dir} NAME )
+ if( IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/tdeioslave/${_dir}
+ AND NOT "${_lang}" STREQUAL "man"
+ AND ( "${_lang}" STREQUAL "en" OR
+ "${_linguas}" MATCHES "^;*$" OR
+ ";${_linguas};" MATCHES ";${_lang};" ))
+ file( GLOB _doc_files
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/tdeioslave/${_dir}
+ tdeioslave/${_dir}/*.docbook )
+ if( _doc_files )
+ list( FIND _doc_files "index.docbook" _find_index )
+ if( -1 EQUAL _find_index )
+ set( _noindex "NOINDEX" )
+ else()
+ unset( _noindex )
+ endif()
+ tde_create_handbook(
+ SOURCE_BASEDIR tdeioslave/${_dir}
+ ${_noindex}
+ LANG ${_lang}
+ DESTINATION tdeioslave/${_protocol}
+ )
+ endif()
+ endif()
+endforeach()
+
+endif( WITH_TDE )
+
+
+if( EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/man/CMakeLists.txt )
+ add_subdirectory( man )
+endif()