Be explicit on languages
This commit is contained in:
parent
25ee23ca76
commit
ca0d6caddf
|
|
@ -3,8 +3,19 @@ include(cmake/Utilities.cmake)
|
||||||
|
|
||||||
set (CMAKE_CXX_STANDARD 11)
|
set (CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
|
MESSAGE(WARNING "
|
||||||
|
***************** YOUR ATTENTION PLEASE *****************
|
||||||
|
CMake support is experimental. There is no guarantee at this time. If you have problems you are encouraged to fall back to the tried-and-true methods.
|
||||||
|
*********************** THANK YOU **********************
|
||||||
|
We now return to your regularly scheduled Firmware Build."
|
||||||
|
)
|
||||||
|
|
||||||
OPTION(SECONDARY_LANGUAGES "Secondary language support in the firmware" ON)
|
OPTION(SECONDARY_LANGUAGES "Secondary language support in the firmware" ON)
|
||||||
|
|
||||||
|
SET(MAIN_LANGUAGES cs de es fr it pl CACHE STRING "The list of 'main' languages to be included, in the correct order")
|
||||||
|
SET(COMMUNITY_LANGUAGES nl ro hu hr sk sv no CACHE STRING "The list of community languages to be included, in the correct order")
|
||||||
|
SET(SELECTED_LANGUAGES ${MAIN_LANGUAGES} ${COMMUNITY_LANGUAGES})
|
||||||
|
|
||||||
get_dependency_directory(prusa3dboards PRUSA_BOARDS_DIR)
|
get_dependency_directory(prusa3dboards PRUSA_BOARDS_DIR)
|
||||||
project(Prusa-Firmware)
|
project(Prusa-Firmware)
|
||||||
|
|
||||||
|
|
@ -13,7 +24,7 @@ STRING(REGEX MATCH "0x[0-9]+" MAX_SIZE_HEX "${MAX_SIZE_LINE}")
|
||||||
math(EXPR LANG_MAX_SIZE "${MAX_SIZE_HEX}" OUTPUT_FORMAT DECIMAL)
|
math(EXPR LANG_MAX_SIZE "${MAX_SIZE_HEX}" OUTPUT_FORMAT DECIMAL)
|
||||||
message("Language maximum size (from config.h): ${LANG_MAX_SIZE} bytes")
|
message("Language maximum size (from config.h): ${LANG_MAX_SIZE} bytes")
|
||||||
|
|
||||||
set (LANG_BIN_MAX 249856) # Ditto, this in xflash_layout.h
|
set (LANG_BIN_MAX 249856) # Ditto, this in xflash_layout.h but needs invocation of the preprocessor... :-/
|
||||||
|
|
||||||
get_recommended_gcc_version(RECOMMENDED_TOOLCHAIN_VERSION)
|
get_recommended_gcc_version(RECOMMENDED_TOOLCHAIN_VERSION)
|
||||||
if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL
|
if(CMAKE_CROSSCOMPILING AND NOT CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL
|
||||||
|
|
@ -88,12 +99,12 @@ file(GLOB FW_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/Firmwa
|
||||||
file(GLOB FW_HEADERS RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/Firmware/*.h*)
|
file(GLOB FW_HEADERS RELATIVE ${PROJECT_SOURCE_DIR} ${PROJECT_SOURCE_DIR}/Firmware/*.h*)
|
||||||
file(GLOB AVR_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/*.c*)
|
file(GLOB AVR_SOURCES RELATIVE ${PROJECT_SOURCE_DIR} ${PRUSA_BOARDS_DIR}/cores/prusa_einsy_rambo/*.c*)
|
||||||
|
|
||||||
# Setup language resources:
|
# Setup language resources:
|
||||||
file(GLOB LANG_VARIANTS RELATIVE ${PROJECT_SOURCE_DIR}/lang/po ${PROJECT_SOURCE_DIR}/lang/po/Firmware_??.po)
|
# file(GLOB LANG_VARIANTS RELATIVE ${PROJECT_SOURCE_DIR}/lang/po ${PROJECT_SOURCE_DIR}/lang/po/Firmware_??.po)
|
||||||
string(REPLACE "Firmware_" "" LANG_VARIANTS "${LANG_VARIANTS}")
|
# string(REPLACE "Firmware_" "" LANG_VARIANTS "${LANG_VARIANTS}")
|
||||||
string(REPLACE ".po" "" LANG_VARIANTS "${LANG_VARIANTS}")
|
# string(REPLACE ".po" "" LANG_VARIANTS "${LANG_VARIANTS}")
|
||||||
list(SORT LANG_VARIANTS)
|
# list(SORT LANG_VARIANTS)
|
||||||
message("Languages found: ${LANG_VARIANTS}")
|
# message("Languages found: ${LANG_VARIANTS}")
|
||||||
|
|
||||||
add_library(avr_core STATIC ${AVR_SOURCES})
|
add_library(avr_core STATIC ${AVR_SOURCES})
|
||||||
target_include_directories(avr_core PRIVATE
|
target_include_directories(avr_core PRIVATE
|
||||||
|
|
@ -187,7 +198,7 @@ function(fw_add_variant variant_name)
|
||||||
|
|
||||||
set(LANG_BINS "")
|
set(LANG_BINS "")
|
||||||
|
|
||||||
foreach (LANG IN LISTS LANG_VARIANTS)
|
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_CURRENT_SOURCE_DIR}/lang/po/Firmware_${LANG}.po")
|
set(PO_FILE "${CMAKE_CURRENT_SOURCE_DIR}/lang/po/Firmware_${LANG}.po")
|
||||||
|
|
@ -249,7 +260,7 @@ function(fw_add_variant variant_name)
|
||||||
else()
|
else()
|
||||||
set (ALL_VARIANT_HEXES "")
|
set (ALL_VARIANT_HEXES "")
|
||||||
# Non-xflash, e.g. MK2.5
|
# Non-xflash, e.g. MK2.5
|
||||||
foreach(LANG IN LISTS LANG_VARIANTS)
|
foreach(LANG IN LISTS SELECTED_LANGUAGES)
|
||||||
SET(LANG_HEX_FN ${variant_name}-en_${LANG})
|
SET(LANG_HEX_FN ${variant_name}-en_${LANG})
|
||||||
SET(LANG_HEX ${CMAKE_BINARY_DIR}/${LANG_HEX_FN}.hex)
|
SET(LANG_HEX ${CMAKE_BINARY_DIR}/${LANG_HEX_FN}.hex)
|
||||||
SET(LANG_BIN ${LANG_TMP_DIR}/${variant_name}_${LANG}.bin)
|
SET(LANG_BIN ${LANG_TMP_DIR}/${variant_name}_${LANG}.bin)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue