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()