cmake: Add targets for language checking
Add the following macro targets to check translations: - check_lang: check all languages for all variants - check_lang_[variant]: check all languages for [variant] - check_lang_[lang]: check all variants against [lang] - check_lang_[variant]_[lang]: check a single variant/language For example: - ninja check_lang: check *everything* - ninja check_de: check German in all variants - ninja check_MK3S-EINSy10a: check all languages in the MK3S - ninja check_MK3S-EINSy10a_de: check German in the MK3S
This commit is contained in:
parent
468f4f8c57
commit
688542602d
|
|
@ -294,8 +294,7 @@ function(add_base_binary variant_name)
|
||||||
target_include_directories(
|
target_include_directories(
|
||||||
${variant_name}
|
${variant_name}
|
||||||
PRIVATE ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/
|
PRIVATE ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/
|
||||||
${PRUSA_BOARDS_DIR}/variants/prusa_einsy_rambo/
|
${PRUSA_BOARDS_DIR}/variants/prusa_einsy_rambo/ ${CMAKE_SOURCE_DIR}/Firmware
|
||||||
${CMAKE_SOURCE_DIR}/Firmware
|
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(${variant_name} avr_core)
|
target_link_libraries(${variant_name} avr_core)
|
||||||
|
|
@ -373,12 +372,27 @@ function(fw_add_variant variant_name)
|
||||||
COMMENT "Generating ${variant_name} language map"
|
COMMENT "Generating ${variant_name} language map"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Base targets for language checks
|
||||||
|
add_custom_target(check_lang_${variant_name})
|
||||||
|
add_dependencies(check_lang check_lang_${variant_name})
|
||||||
|
|
||||||
# Build language catalogs
|
# Build language catalogs
|
||||||
set(LANG_BINS "")
|
set(LANG_BINS "")
|
||||||
foreach(LANG IN LISTS SELECTED_LANGUAGES)
|
foreach(LANG IN LISTS SELECTED_LANGUAGES)
|
||||||
set(LANG_BIN ${LANG_TMP_DIR}/${variant_name}_${LANG}.bin)
|
set(LANG_BIN ${LANG_TMP_DIR}/${variant_name}_${LANG}.bin)
|
||||||
set(PO_FILE "${CMAKE_SOURCE_DIR}/lang/po/Firmware_${LANG}.po")
|
set(PO_FILE "${CMAKE_SOURCE_DIR}/lang/po/Firmware_${LANG}.po")
|
||||||
|
|
||||||
|
# Full language checks
|
||||||
|
add_custom_target(
|
||||||
|
check_lang_${variant_name}_${LANG}
|
||||||
|
COMMENT "Checking ${variant_name} language ${LANG}"
|
||||||
|
COMMAND ${CMAKE_SOURCE_DIR}/lang/lang-check.py --map ${LANG_MAP} ${PO_FILE}
|
||||||
|
DEPENDS ${LANG_MAP} ${PO_FILE}
|
||||||
|
USES_TERMINAL
|
||||||
|
)
|
||||||
|
add_dependencies(check_lang_${variant_name} check_lang_${variant_name}_${LANG})
|
||||||
|
add_dependencies(check_lang_${LANG} check_lang_${variant_name}_${LANG})
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
OUTPUT ${LANG_BIN}
|
OUTPUT ${LANG_BIN}
|
||||||
# Check po file for errors _only_
|
# Check po file for errors _only_
|
||||||
|
|
@ -470,6 +484,13 @@ endfunction()
|
||||||
|
|
||||||
if(CMAKE_CROSSCOMPILING)
|
if(CMAKE_CROSSCOMPILING)
|
||||||
|
|
||||||
|
# Main target for language checks
|
||||||
|
add_custom_target(check_lang)
|
||||||
|
foreach(LANG IN LISTS SELECTED_LANGUAGES)
|
||||||
|
add_custom_target(check_lang_${LANG})
|
||||||
|
add_dependencies(check_lang check_lang_${LANG})
|
||||||
|
endforeach()
|
||||||
|
|
||||||
# build a list of all supported variants
|
# build a list of all supported variants
|
||||||
file(
|
file(
|
||||||
GLOB ALL_VARIANTS
|
GLOB ALL_VARIANTS
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue