Changeset - r24721:02600e02de7c
[Not reviewed]
master
0 1 0
glx22 - 3 years ago 2021-02-01 23:18:20
glx@openttd.org
Fix: [CMake] Language files should depend on english.txt
1 file changed with 7 insertions and 3 deletions:
0 comments (0 inline, 0 general)
src/lang/CMakeLists.txt
Show inline comments
 
set(MASTER_LANG_FILE
 
        ${CMAKE_CURRENT_SOURCE_DIR}/english.txt
 
)
 

	
 
set(LANG_SOURCE_FILES
 
        ${MASTER_LANG_FILE}
 
        ${CMAKE_CURRENT_SOURCE_DIR}/afrikaans.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/arabic_egypt.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/basque.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/belarusian.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/brazilian_portuguese.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/bulgarian.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/catalan.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/croatian.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/czech.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/danish.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/dutch.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/english.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/english_AU.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/english_US.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/esperanto.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/estonian.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/faroese.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/finnish.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/french.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/gaelic.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/galician.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/german.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/greek.txt
 
        ${CMAKE_CURRENT_SOURCE_DIR}/hebrew.txt
 
@@ -66,25 +70,25 @@ endif()
 
# Walk over all the (finished) language files, and generate a command to compile them
 
foreach(LANG_SOURCE_FILE IN LISTS LANG_SOURCE_FILES)
 
    get_filename_component(LANG_SOURCE_FILE_NAME_WE ${LANG_SOURCE_FILE} NAME_WE)
 

	
 
    set(LANG_BINARY_FILE ${LANG_BINARY_DIR}/${LANG_SOURCE_FILE_NAME_WE}.lng)
 

	
 
    add_custom_command(OUTPUT ${LANG_BINARY_FILE}
 
            COMMAND ${CMAKE_COMMAND} -E make_directory ${LANG_BINARY_DIR}
 
            COMMAND strgen
 
                    -s ${CMAKE_CURRENT_SOURCE_DIR}
 
                    -d ${LANG_BINARY_DIR}
 
                    ${LANG_SOURCE_FILE}
 
            DEPENDS strgen
 
            DEPENDS strgen ${MASTER_LANG_FILE}
 
            MAIN_DEPENDENCY ${LANG_SOURCE_FILE}
 
            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 
            COMMENT "Compiling language ${LANG_SOURCE_FILE_NAME_WE}"
 
    )
 

	
 
    list(APPEND LANG_BINARY_FILES ${LANG_BINARY_FILE})
 
endforeach()
 

	
 
# Create a new target which compiles all language files
 
add_custom_target(language_files
 
        DEPENDS
 
        ${LANG_BINARY_FILES}
 
@@ -94,25 +98,25 @@ set_target_properties(language_files
 
)
 

	
 

	
 
set(GENERATED_BINARY_DIR ${CMAKE_BINARY_DIR}/generated)
 
set(TABLE_BINARY_DIR ${GENERATED_BINARY_DIR}/table)
 

	
 
# Generate a command and target to create the strings table
 
add_custom_command_timestamp(OUTPUT ${TABLE_BINARY_DIR}/strings.h
 
        COMMAND ${CMAKE_COMMAND} -E make_directory ${TABLE_BINARY_DIR}
 
        COMMAND strgen
 
                -s ${CMAKE_CURRENT_SOURCE_DIR}
 
                -d ${TABLE_BINARY_DIR}
 
        DEPENDS strgen ${LANG_SOURCE_FILES}
 
        DEPENDS strgen ${MASTER_LANG_FILE}
 
        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 
        COMMENT "Generating table/strings.h"
 
)
 
add_custom_target_timestamp(table_strings
 
        DEPENDS
 
        ${TABLE_BINARY_DIR}/strings.h
 
)
 

	
 
add_library(languages
 
        INTERFACE
 
)
 
target_include_directories(languages
0 comments (0 inline, 0 general)