summaryrefslogtreecommitdiffstats
path: root/doc/man/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'doc/man/CMakeLists.txt')
-rw-r--r--doc/man/CMakeLists.txt42
1 files changed, 42 insertions, 0 deletions
diff --git a/doc/man/CMakeLists.txt b/doc/man/CMakeLists.txt
new file mode 100644
index 0000000..60c7e44
--- /dev/null
+++ b/doc/man/CMakeLists.txt
@@ -0,0 +1,42 @@
+
+file( GLOB_RECURSE _man_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} * )
+unset( _dirs )
+foreach( _man_file IN LISTS _man_files )
+ get_filename_component( _dir ${_man_file} PATH )
+ list( APPEND _dirs ${_dir} )
+endforeach()
+if( _dirs )
+ list( SORT _dirs )
+ list( REMOVE_DUPLICATES _dirs )
+endif()
+
+string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
+
+foreach( _dir IN LISTS _dirs )
+ string( REGEX REPLACE "/.*" "" _lang ${_dir} )
+ if( ${_lang} STREQUAL "en" OR
+ "${_linguas}" MATCHES "^;*$" OR
+ ";${_linguas};" MATCHES ";${_lang};" )
+
+ file( GLOB_RECURSE _man_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${_lang}/* )
+ foreach( _man_file IN LISTS _man_files )
+ if( ${_man_file} MATCHES "\\.[0-9]$" )
+ string( REGEX REPLACE ".*\\.([0-9])$" "\\1" _man_section "${_man_file}" )
+ list( APPEND _man_files_${_man_section} "${_man_file}" )
+ list( APPEND _man_sections "${_man_section}" )
+ endif()
+ endforeach()
+ if( ${_lang} STREQUAL "en" )
+ set( _lang_dir "" )
+ else()
+ set( _lang_dir "/${_lang}" )
+ endif()
+ foreach( _man_section IN LISTS _man_sections )
+ INSTALL(
+ FILES ${_man_files_${_man_section}}
+ DESTINATION ${MAN_INSTALL_DIR}${_lang_dir}/man${_man_section}
+ COMPONENT doc
+ )
+ endforeach()
+ endif()
+endforeach()