You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
117 lines
3.0 KiB
117 lines
3.0 KiB
#################################################
|
|
#
|
|
# (C) 2013 Alexander Golubev (Fat-Zer)
|
|
# fatzer2 (AT) gmail.com
|
|
#
|
|
# Improvements and feedback are welcome
|
|
#
|
|
# This file is released under GPL >= 2
|
|
#
|
|
#################################################
|
|
|
|
cmake_minimum_required( VERSION 3.1 )
|
|
|
|
|
|
##### general package setup #####################
|
|
|
|
project( k3b-i18n )
|
|
|
|
|
|
##### include essential cmake modules ###########
|
|
|
|
include( FindPkgConfig ) # required for find_package( TDE )
|
|
|
|
|
|
##### include our cmake modules #################
|
|
|
|
include( TDEMacros )
|
|
|
|
|
|
##### set version number ########################
|
|
|
|
tde_set_project_version( )
|
|
|
|
|
|
##### find required stuff #######################
|
|
|
|
find_package( TDE )
|
|
|
|
|
|
##### setup install paths #######################
|
|
|
|
include( TDESetupPaths )
|
|
tde_setup_paths( )
|
|
|
|
option( BUILD_DOC "Build documentation" ON )
|
|
option( BUILD_MESSAGES "Build message and GUI translation" ON )
|
|
|
|
string( REGEX REPLACE "[ \r\n\t]+" ";" _linguas "$ENV{LINGUAS}" )
|
|
|
|
|
|
###### build documentations for all languages ###
|
|
|
|
if( BUILD_DOC )
|
|
file( GLOB_RECURSE _doc_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} */doc/* )
|
|
foreach( _doc_file IN LISTS _doc_files )
|
|
get_filename_component( _dir ${_doc_file} PATH )
|
|
list( APPEND _dirs ${_dir} )
|
|
endforeach()
|
|
if( _dirs )
|
|
list( SORT _dirs )
|
|
list( REMOVE_DUPLICATES _dirs )
|
|
endif()
|
|
|
|
foreach( _doc_dir IN LISTS _dirs )
|
|
string( REGEX REPLACE "/.*" "" _lang ${_doc_dir} )
|
|
if( NOT ${_lang} MATCHES "^(html|man|misc|other)$"
|
|
AND ( ${_lang} STREQUAL "en" OR
|
|
"${_linguas}" MATCHES "^;*$" OR
|
|
";${_linguas};" MATCHES ";${_lang};" ))
|
|
|
|
file( GLOB _doc_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}/${_doc_dir} ${_doc_dir}/*.docbook )
|
|
if( ${_doc_dir} MATCHES "^${_lang}/doc/[^/]*/" )
|
|
string( REGEX REPLACE "^${_lang}/doc/(.*)" "\\1" _doc_dest "${_doc_dir}" )
|
|
else()
|
|
string( REGEX REPLACE "^${_lang}/doc/(.*)" "\\1" _doc_dest "${_doc_dir}/k3b" )
|
|
endif()
|
|
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 ${_doc_dir}
|
|
${_noindex}
|
|
LANG ${_lang}
|
|
DESTINATION ${_doc_dest}
|
|
)
|
|
else()
|
|
file( GLOB _doc_files
|
|
RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
|
|
${_doc_dir}/*.css ${_doc_dir}/*.jpg ${_doc_dir}/*.png )
|
|
install(
|
|
FILES ${_doc_files}
|
|
DESTINATION ${HTML_INSTALL_DIR}/${_lang}/${_doc_dest}
|
|
)
|
|
endif()
|
|
endif()
|
|
endforeach()
|
|
|
|
endif()
|
|
|
|
|
|
###### build translations for all languages #####
|
|
|
|
if( BUILD_MESSAGES )
|
|
file( GLOB_RECURSE po_files RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} */messages/*.po )
|
|
|
|
foreach( _po ${po_files} )
|
|
string( REGEX REPLACE "/.*" "" _lang ${_po} )
|
|
if( "${_linguas}" MATCHES "^;*$" OR ";${_linguas};" MATCHES ";${_lang};" )
|
|
tde_create_translation( FILES ${_po} LANG ${_lang} )
|
|
endif()
|
|
endforeach( )
|
|
endif( )
|