diff options
Diffstat (limited to 'testing/telegram-desktop/TelegramCodegen.cmake')
-rw-r--r-- | testing/telegram-desktop/TelegramCodegen.cmake | 97 |
1 files changed, 97 insertions, 0 deletions
diff --git a/testing/telegram-desktop/TelegramCodegen.cmake b/testing/telegram-desktop/TelegramCodegen.cmake new file mode 100644 index 00000000000..8f99693284e --- /dev/null +++ b/testing/telegram-desktop/TelegramCodegen.cmake @@ -0,0 +1,97 @@ +set(TELEGRAM_GENERATED_SOURCES) + +set(IMPORT_EXECUTABLES "native/ImportExecutables.cmake" CACHE FILEPATH "POINT") +INCLUDE(${IMPORT_EXECUTABLES}) + +add_custom_command( + OUTPUT + ${GENERATED_DIR}/scheme.h + ${GENERATED_DIR}/scheme.cpp + COMMAND python ${TELEGRAM_SOURCES_DIR}/codegen/scheme/codegen_scheme.py -o${GENERATED_DIR} ${TELEGRAM_RESOURCES_DIR}/scheme.tl + DEPENDS ${TELEGRAM_RESOURCES_DIR}/scheme.tl + COMMENT "Codegen scheme.tl" +) +list(APPEND TELEGRAM_GENERATED_SOURCES + ${GENERATED_DIR}/scheme.h + ${GENERATED_DIR}/scheme.cpp +) + +file(GLOB_RECURSE STYLES + ${TELEGRAM_RESOURCES_DIR}/*.palette + ${TELEGRAM_RESOURCES_DIR}/*.style + ${TELEGRAM_SOURCES_DIR}/*.style +) +set(GENERATED_STYLES) +foreach(STYLE ${STYLES}) + get_filename_component(STYLE_FILENAME ${STYLE} NAME) + get_filename_component(STYLE_NAME ${STYLE} NAME_WE) + if (${STYLE} MATCHES \\.palette$) + set(THIS_GENERATED_STYLES + ${GENERATED_DIR}/styles/palette.h + ${GENERATED_DIR}/styles/palette.cpp + ) + else() + set(THIS_GENERATED_STYLES + ${GENERATED_DIR}/styles/style_${STYLE_NAME}.h + ${GENERATED_DIR}/styles/style_${STYLE_NAME}.cpp + ) + endif() + + # style generator does not like '-' in file path, so let's use relative paths... + add_custom_command( + OUTPUT ${THIS_GENERATED_STYLES} + COMMAND codegen_style -IResources -ISourceFiles -o${GENERATED_DIR}/styles ${STYLE} + WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} + DEPENDS codegen_style ${STYLE} + COMMENT "Codegen style ${STYLE_FILENAME}" + ) + set(GENERATED_STYLES ${GENERATED_STYLES} ${THIS_GENERATED_STYLES}) +endforeach() +list(APPEND TELEGRAM_GENERATED_SOURCES ${GENERATED_STYLES}) + +add_custom_command( + OUTPUT + ${GENERATED_DIR}/emoji.h + ${GENERATED_DIR}/emoji.cpp + ${GENERATED_DIR}/emoji_suggestions_data.h + ${GENERATED_DIR}/emoji_suggestions_data.cpp + COMMAND codegen_emoji -o${GENERATED_DIR} ${TELEGRAM_RESOURCES_DIR}/emoji_autocomplete.json + DEPENDS codegen_emoji + COMMENT "Codegen emoji" +) + +list(APPEND TELEGRAM_GENERATED_SOURCES + ${GENERATED_DIR}/emoji.h + ${GENERATED_DIR}/emoji.cpp + ${GENERATED_DIR}/emoji_suggestions_data.h + ${GENERATED_DIR}/emoji_suggestions_data.cpp +) + +add_custom_command( + OUTPUT + ${GENERATED_DIR}/lang_auto.h + ${GENERATED_DIR}/lang_auto.cpp + COMMAND codegen_lang -o${GENERATED_DIR} ${TELEGRAM_RESOURCES_DIR}/langs/lang.strings + DEPENDS codegen_lang + COMMENT "Codegen lang" +) +list(APPEND TELEGRAM_GENERATED_SOURCES + ${GENERATED_DIR}/lang_auto.h + ${GENERATED_DIR}/lang_auto.cpp +) + +add_custom_command( + OUTPUT + ${GENERATED_DIR}/numbers.h + ${GENERATED_DIR}/numbers.cpp + COMMAND codegen_numbers -o${GENERATED_DIR} ${TELEGRAM_RESOURCES_DIR}/numbers.txt + DEPENDS codegen_numbers + COMMENT "Codegen numbers" +) +list(APPEND TELEGRAM_GENERATED_SOURCES + ${GENERATED_DIR}/numbers.h + ${GENERATED_DIR}/numbers.cpp +) + +add_custom_target(telegram_codegen DEPENDS ${TELEGRAM_GENERATED_SOURCES}) + |