Some CMake scripts refactoring

dev-hd-graphics
Piotr Dziwinski 2014-09-21 12:59:50 +02:00
parent 549e128aba
commit bd09232475
5 changed files with 31 additions and 25 deletions

View File

@ -1,6 +1,6 @@
cmake_minimum_required(VERSION 2.8)
include(../i18n-tools/CommonI18N.cmake)
include(../i18n-tools/HelpI18N.cmake)
set(HELP_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/help)

View File

@ -0,0 +1,22 @@
##
# Common function used in other I18N CMake modules
##
##
# Get language code from *.po file name e.g. "de.po" -> "de"
##
function(get_language_code result_language_code po_file)
get_filename_component(po_file_name ${po_file} NAME)
string(REPLACE ".po" "" language_code ${po_file_name})
set(${result_language_code} ${language_code} PARENT_SCOPE)
endfunction()
##
# Get language char from *.po file name e.g. "de.po" -> "D"
##
function(get_language_char result_language_char po_file)
get_filename_component(po_file_name ${po_file} NAME)
string(REGEX REPLACE ".\\.po" "" language_char ${po_file_name})
string(TOUPPER ${language_char} language_char)
set(${result_language_char} ${language_char} PARENT_SCOPE)
endfunction()

View File

@ -8,8 +8,6 @@ if(NOT PO4A)
message(WARNING "PO4A not found, help files will NOT be translated!")
endif()
set(HELP_I18N_WORK_DIR ${CMAKE_CURRENT_BINARY_DIR}/help-po)
##
# Generate translated help files in separate directories per language
##
@ -30,10 +28,7 @@ function(generate_help_i18n
set(output_help_subdirs "")
file(GLOB po_files ${po_dir}/*.po)
foreach(po_file ${po_files})
get_filename_component(po_file_name ${po_file} NAME)
# get language letter e.g. "de.po" -> "d"
string(REGEX REPLACE ".\\.po" "" language_char ${po_file_name})
string(TOUPPER ${language_char} language_char)
get_language_char(language_char ${po_file})
set(language_help_subdir ${work_dir}/${language_char})
list(APPEND output_help_subdirs ${language_help_subdir})
endforeach()
@ -45,13 +40,9 @@ function(generate_help_i18n
file(APPEND ${po4a_cfg_file} "\n[type:colobothelp] ${abs_source_help_file}")
foreach(po_file ${po_files})
get_filename_component(po_file_name ${po_file} NAME)
# get language code e.g. "de.po" -> "de"
string(REPLACE ".po" "" language_code ${po_file_name})
# get language letter e.g. "de.po" -> "d"
string(REGEX REPLACE ".\\.po" "" language_char ${po_file_name})
string(TOUPPER ${language_char} language_char)
# generated file for single language
get_language_code(language_code ${po_file})
get_language_char(language_char ${po_file})
set(generated_help_file ${work_dir}/${language_char}/${help_file_name})
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_help_file}")
endforeach()

View File

@ -45,10 +45,8 @@ function(generate_chaptertitles_i18n
file(APPEND ${po4a_cfg_file} "\n[type:colobotlevel] ${abs_source_chaptertitle_file}")
foreach(po_file ${po_files})
get_filename_component(po_file_name ${po_file} NAME)
# get language code e.g. "de.po" -> "de"
string(REPLACE ".po" "" language_code ${po_file_name})
# generated file for single language
get_language_code(language_code ${po_file})
set(generated_language_file ${output_chaptertitle_file}.${language_code})
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_language_file}")
endforeach()
@ -130,9 +128,7 @@ function(generate_level_i18n
file(GLOB po_files ${po_dir}/*.po)
foreach(po_file ${po_files})
get_filename_component(po_file_name ${po_file} NAME)
# get language code e.g. "de.po" -> "de"
string(REPLACE ".po" "" language_code ${po_file_name})
get_language_code(language_code ${po_file})
# generated file for single language
set(generated_language_file ${output_level_file}.${language_code})
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_language_file}")
@ -147,13 +143,9 @@ function(generate_level_i18n
file(APPEND ${po4a_cfg_file} "\n[type:colobothelp] ${source_help_file}")
foreach(po_file ${po_files})
get_filename_component(po_file_name ${po_file} NAME)
# get language code e.g. "de.po" -> "de"
string(REPLACE ".po" "" language_code ${po_file_name})
# get language letter e.g. "de.po" -> "d"
string(REGEX REPLACE ".\\.po" "" language_char ${po_file_name})
string(TOUPPER ${language_char} language_char)
# generated file for single language
get_language_code(language_code ${po_file})
get_language_char(language_char ${po_file})
string(REPLACE ".E." ".${language_char}." generated_help_file_name ${help_file_name})
set(generated_help_file ${output_help_dir}/${generated_help_file_name})
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_help_file}")

View File

@ -1,5 +1,6 @@
cmake_minimum_required(VERSION 2.8)
include(../i18n-tools/CommonI18N.cmake)
include(../i18n-tools/LevelsI18N.cmake)
set(LEVEL_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/levels)