Some CMake scripts refactoring
parent
549e128aba
commit
bd09232475
|
@ -1,6 +1,6 @@
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
|
include(../i18n-tools/CommonI18N.cmake)
|
||||||
include(../i18n-tools/HelpI18N.cmake)
|
include(../i18n-tools/HelpI18N.cmake)
|
||||||
|
|
||||||
set(HELP_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/help)
|
set(HELP_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/help)
|
||||||
|
|
|
@ -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()
|
|
@ -8,8 +8,6 @@ if(NOT PO4A)
|
||||||
message(WARNING "PO4A not found, help files will NOT be translated!")
|
message(WARNING "PO4A not found, help files will NOT be translated!")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(HELP_I18N_WORK_DIR ${CMAKE_CURRENT_BINARY_DIR}/help-po)
|
|
||||||
|
|
||||||
##
|
##
|
||||||
# Generate translated help files in separate directories per language
|
# Generate translated help files in separate directories per language
|
||||||
##
|
##
|
||||||
|
@ -30,10 +28,7 @@ function(generate_help_i18n
|
||||||
set(output_help_subdirs "")
|
set(output_help_subdirs "")
|
||||||
file(GLOB po_files ${po_dir}/*.po)
|
file(GLOB po_files ${po_dir}/*.po)
|
||||||
foreach(po_file ${po_files})
|
foreach(po_file ${po_files})
|
||||||
get_filename_component(po_file_name ${po_file} NAME)
|
get_language_char(language_char ${po_file})
|
||||||
# get language letter e.g. "de.po" -> "d"
|
|
||||||
string(REGEX REPLACE ".\\.po" "" language_char ${po_file_name})
|
|
||||||
string(TOUPPER ${language_char} language_char)
|
|
||||||
set(language_help_subdir ${work_dir}/${language_char})
|
set(language_help_subdir ${work_dir}/${language_char})
|
||||||
list(APPEND output_help_subdirs ${language_help_subdir})
|
list(APPEND output_help_subdirs ${language_help_subdir})
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@ -45,13 +40,9 @@ function(generate_help_i18n
|
||||||
|
|
||||||
file(APPEND ${po4a_cfg_file} "\n[type:colobothelp] ${abs_source_help_file}")
|
file(APPEND ${po4a_cfg_file} "\n[type:colobothelp] ${abs_source_help_file}")
|
||||||
foreach(po_file ${po_files})
|
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
|
# 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})
|
set(generated_help_file ${work_dir}/${language_char}/${help_file_name})
|
||||||
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_help_file}")
|
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_help_file}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
|
@ -45,10 +45,8 @@ function(generate_chaptertitles_i18n
|
||||||
file(APPEND ${po4a_cfg_file} "\n[type:colobotlevel] ${abs_source_chaptertitle_file}")
|
file(APPEND ${po4a_cfg_file} "\n[type:colobotlevel] ${abs_source_chaptertitle_file}")
|
||||||
|
|
||||||
foreach(po_file ${po_files})
|
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
|
# generated file for single language
|
||||||
|
get_language_code(language_code ${po_file})
|
||||||
set(generated_language_file ${output_chaptertitle_file}.${language_code})
|
set(generated_language_file ${output_chaptertitle_file}.${language_code})
|
||||||
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_language_file}")
|
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_language_file}")
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@ -130,9 +128,7 @@ function(generate_level_i18n
|
||||||
|
|
||||||
file(GLOB po_files ${po_dir}/*.po)
|
file(GLOB po_files ${po_dir}/*.po)
|
||||||
foreach(po_file ${po_files})
|
foreach(po_file ${po_files})
|
||||||
get_filename_component(po_file_name ${po_file} NAME)
|
get_language_code(language_code ${po_file})
|
||||||
# get language code e.g. "de.po" -> "de"
|
|
||||||
string(REPLACE ".po" "" language_code ${po_file_name})
|
|
||||||
# generated file for single language
|
# generated file for single language
|
||||||
set(generated_language_file ${output_level_file}.${language_code})
|
set(generated_language_file ${output_level_file}.${language_code})
|
||||||
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_language_file}")
|
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}")
|
file(APPEND ${po4a_cfg_file} "\n[type:colobothelp] ${source_help_file}")
|
||||||
foreach(po_file ${po_files})
|
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
|
# 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})
|
string(REPLACE ".E." ".${language_char}." generated_help_file_name ${help_file_name})
|
||||||
set(generated_help_file ${output_help_dir}/${generated_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}")
|
file(APPEND ${po4a_cfg_file} " \\\n ${language_code}:${generated_help_file}")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
cmake_minimum_required(VERSION 2.8)
|
cmake_minimum_required(VERSION 2.8)
|
||||||
|
|
||||||
|
include(../i18n-tools/CommonI18N.cmake)
|
||||||
include(../i18n-tools/LevelsI18N.cmake)
|
include(../i18n-tools/LevelsI18N.cmake)
|
||||||
|
|
||||||
set(LEVEL_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/levels)
|
set(LEVEL_INSTALL_DATA_DIR ${COLOBOT_INSTALL_DATA_DIR}/levels)
|
||||||
|
|
Loading…
Reference in New Issue