Run TL class generators from auto/ directory.
This commit is contained in:
parent
496dc3284e
commit
8f9a4dcaa0
@ -101,7 +101,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (PHP_EXECUTABLE AND NOT TD_ENABLE_DOTNET)
|
if (PHP_EXECUTABLE AND NOT TD_ENABLE_DOTNET)
|
||||||
set(GENERATE_COMMON_CMD generate_common && ${PHP_EXECUTABLE} DoxygenTlDocumentationGenerator.php scheme/td_api.tl auto/td/telegram/td_api.h)
|
set(GENERATE_COMMON_CMD generate_common && ${PHP_EXECUTABLE} ../DoxygenTlDocumentationGenerator.php ../scheme/td_api.tl td/telegram/td_api.h)
|
||||||
else()
|
else()
|
||||||
set(GENERATE_COMMON_CMD generate_common)
|
set(GENERATE_COMMON_CMD generate_common)
|
||||||
endif()
|
endif()
|
||||||
@ -132,7 +132,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
add_executable(generate_common ${TL_GENERATE_COMMON_SOURCE})
|
add_executable(generate_common ${TL_GENERATE_COMMON_SOURCE})
|
||||||
target_link_libraries(generate_common PRIVATE tdtl)
|
target_link_libraries(generate_common PRIVATE tdtl)
|
||||||
add_custom_target(tl_generate_common
|
add_custom_target(tl_generate_common
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/auto
|
||||||
COMMAND ${GENERATE_COMMON_CMD}
|
COMMAND ${GENERATE_COMMON_CMD}
|
||||||
COMMENT "Generate common TL source files"
|
COMMENT "Generate common TL source files"
|
||||||
DEPENDS generate_common tl_generate_tlo ${TLO_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl ${CMAKE_CURRENT_SOURCE_DIR}/DoxygenTlDocumentationGenerator.php
|
DEPENDS generate_common tl_generate_tlo ${TLO_FILES} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl ${CMAKE_CURRENT_SOURCE_DIR}/DoxygenTlDocumentationGenerator.php
|
||||||
@ -147,7 +147,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
add_executable(generate_c ${TL_GENERATE_C_SOURCE})
|
add_executable(generate_c ${TL_GENERATE_C_SOURCE})
|
||||||
target_link_libraries(generate_c PRIVATE tdtl)
|
target_link_libraries(generate_c PRIVATE tdtl)
|
||||||
add_custom_target(tl_generate_c
|
add_custom_target(tl_generate_c
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/auto
|
||||||
COMMAND generate_c
|
COMMAND generate_c
|
||||||
COMMENT "Generate C TL source files"
|
COMMENT "Generate C TL source files"
|
||||||
DEPENDS generate_c tl_generate_tlo ${TD_API_TLO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl
|
DEPENDS generate_c tl_generate_tlo ${TD_API_TLO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl
|
||||||
@ -159,7 +159,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
add_executable(generate_json ${TL_GENERATE_JSON_SOURCE})
|
add_executable(generate_json ${TL_GENERATE_JSON_SOURCE})
|
||||||
target_link_libraries(generate_json PRIVATE tdtl tdutils)
|
target_link_libraries(generate_json PRIVATE tdtl tdutils)
|
||||||
add_custom_target(tl_generate_json
|
add_custom_target(tl_generate_json
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/auto
|
||||||
COMMAND generate_json
|
COMMAND generate_json
|
||||||
COMMENT "Generate JSON TL source files"
|
COMMENT "Generate JSON TL source files"
|
||||||
DEPENDS generate_json tl_generate_tlo ${TD_API_TLO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl
|
DEPENDS generate_json tl_generate_tlo ${TD_API_TLO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl
|
||||||
@ -173,7 +173,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
|
|
||||||
if (TD_ENABLE_DOTNET)
|
if (TD_ENABLE_DOTNET)
|
||||||
if (PHP_EXECUTABLE)
|
if (PHP_EXECUTABLE)
|
||||||
set(GENERATE_DOTNET_API_CMD td_generate_dotnet_api ${TD_API_TLO_FILE} && ${PHP_EXECUTABLE} DotnetTlDocumentationGenerator.php scheme/td_api.tl auto/td/telegram/TdDotNetApi.h)
|
set(GENERATE_DOTNET_API_CMD td_generate_dotnet_api ${TD_API_TLO_FILE} && ${PHP_EXECUTABLE} ../DotnetTlDocumentationGenerator.php ../scheme/td_api.tl td/telegram/TdDotNetApi.h)
|
||||||
else()
|
else()
|
||||||
set(GENERATE_DOTNET_API_CMD td_generate_dotnet_api ${TD_API_TLO_FILE})
|
set(GENERATE_DOTNET_API_CMD td_generate_dotnet_api ${TD_API_TLO_FILE})
|
||||||
endif()
|
endif()
|
||||||
@ -181,7 +181,7 @@ if (NOT CMAKE_CROSSCOMPILING)
|
|||||||
add_executable(td_generate_dotnet_api generate_dotnet.cpp tl_writer_dotnet.h)
|
add_executable(td_generate_dotnet_api generate_dotnet.cpp tl_writer_dotnet.h)
|
||||||
target_link_libraries(td_generate_dotnet_api PRIVATE tdtl)
|
target_link_libraries(td_generate_dotnet_api PRIVATE tdtl)
|
||||||
add_custom_target(generate_dotnet_api
|
add_custom_target(generate_dotnet_api
|
||||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/auto
|
||||||
COMMAND ${GENERATE_DOTNET_API_CMD}
|
COMMAND ${GENERATE_DOTNET_API_CMD}
|
||||||
COMMENT "Generate .NET API files"
|
COMMENT "Generate .NET API files"
|
||||||
DEPENDS td_generate_dotnet_api tl_generate_tlo ${TD_API_TLO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl ${CMAKE_CURRENT_SOURCE_DIR}/DotnetTlDocumentationGenerator.php
|
DEPENDS td_generate_dotnet_api tl_generate_tlo ${TD_API_TLO_FILE} ${CMAKE_CURRENT_SOURCE_DIR}/scheme/td_api.tl ${CMAKE_CURRENT_SOURCE_DIR}/DotnetTlDocumentationGenerator.php
|
||||||
|
@ -10,8 +10,8 @@
|
|||||||
#include "td/tl/tl_generate.h"
|
#include "td/tl/tl_generate.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
td::tl::tl_config config_td = td::tl::read_tl_config_from_file("auto/tlo/td_api.tlo");
|
td::tl::tl_config config_td = td::tl::read_tl_config_from_file("tlo/td_api.tlo");
|
||||||
td::tl::write_tl_to_file(config_td, "auto/td/telegram/td_tdc_api.h", td::TlWriterCCommon("TdApi", 1));
|
td::tl::write_tl_to_file(config_td, "td/telegram/td_tdc_api.h", td::TlWriterCCommon("TdApi", 1));
|
||||||
td::tl::write_tl_to_file(config_td, "auto/td/telegram/td_tdc_api_inner.h", td::TlWriterCCommon("TdApi", -1));
|
td::tl::write_tl_to_file(config_td, "td/telegram/td_tdc_api_inner.h", td::TlWriterCCommon("TdApi", -1));
|
||||||
td::tl::write_tl_to_file(config_td, "auto/td/telegram/td_tdc_api.cpp", td::TlWriterCCommon("TdApi", 0));
|
td::tl::write_tl_to_file(config_td, "td/telegram/td_tdc_api.cpp", td::TlWriterCCommon("TdApi", 0));
|
||||||
}
|
}
|
||||||
|
@ -22,27 +22,27 @@ static void generate_cpp(const std::string &directory, const std::string &tl_nam
|
|||||||
const std::string &bytes_type, const std::vector<std::string> &ext_cpp_includes,
|
const std::string &bytes_type, const std::vector<std::string> &ext_cpp_includes,
|
||||||
const std::vector<std::string> &ext_h_includes) {
|
const std::vector<std::string> &ext_h_includes) {
|
||||||
std::string path = directory + "/" + tl_name;
|
std::string path = directory + "/" + tl_name;
|
||||||
td::tl::tl_config config = td::tl::read_tl_config_from_file("auto/tlo/" + tl_name + ".tlo");
|
td::tl::tl_config config = td::tl::read_tl_config_from_file("tlo/" + tl_name + ".tlo");
|
||||||
td::tl::write_tl_to_file(config, path + ".cpp", WriterCpp(tl_name, string_type, bytes_type, ext_cpp_includes));
|
td::tl::write_tl_to_file(config, path + ".cpp", WriterCpp(tl_name, string_type, bytes_type, ext_cpp_includes));
|
||||||
td::tl::write_tl_to_file(config, path + ".h", WriterH(tl_name, string_type, bytes_type, ext_h_includes));
|
td::tl::write_tl_to_file(config, path + ".h", WriterH(tl_name, string_type, bytes_type, ext_h_includes));
|
||||||
td::tl::write_tl_to_file(config, path + ".hpp", WriterHpp(tl_name, string_type, bytes_type));
|
td::tl::write_tl_to_file(config, path + ".hpp", WriterHpp(tl_name, string_type, bytes_type));
|
||||||
}
|
}
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
generate_cpp<>("auto/td/telegram", "telegram_api", "std::string", "BufferSlice",
|
generate_cpp<>("td/telegram", "telegram_api", "std::string", "BufferSlice",
|
||||||
{"\"td/tl/tl_object_parse.h\"", "\"td/tl/tl_object_store.h\""}, {"\"td/utils/buffer.h\""});
|
{"\"td/tl/tl_object_parse.h\"", "\"td/tl/tl_object_store.h\""}, {"\"td/utils/buffer.h\""});
|
||||||
|
|
||||||
generate_cpp<>("auto/td/telegram", "secret_api", "std::string", "BufferSlice",
|
generate_cpp<>("td/telegram", "secret_api", "std::string", "BufferSlice",
|
||||||
{"\"td/tl/tl_object_parse.h\"", "\"td/tl/tl_object_store.h\""}, {"\"td/utils/buffer.h\""});
|
{"\"td/tl/tl_object_parse.h\"", "\"td/tl/tl_object_store.h\""}, {"\"td/utils/buffer.h\""});
|
||||||
|
|
||||||
generate_cpp<>("auto/td/mtproto", "mtproto_api", "Slice", "Slice",
|
generate_cpp<>("td/mtproto", "mtproto_api", "Slice", "Slice",
|
||||||
{"\"td/tl/tl_object_parse.h\"", "\"td/tl/tl_object_store.h\""},
|
{"\"td/tl/tl_object_parse.h\"", "\"td/tl/tl_object_store.h\""},
|
||||||
{"\"td/utils/Slice.h\"", "\"td/utils/UInt.h\""});
|
{"\"td/utils/Slice.h\"", "\"td/utils/UInt.h\""});
|
||||||
|
|
||||||
#ifdef TD_ENABLE_JNI
|
#ifdef TD_ENABLE_JNI
|
||||||
generate_cpp<td::TD_TL_writer_jni_cpp, td::TD_TL_writer_jni_h>(
|
generate_cpp<td::TD_TL_writer_jni_cpp, td::TD_TL_writer_jni_h>("td/telegram", "td_api", "std::string", "std::string",
|
||||||
"auto/td/telegram", "td_api", "std::string", "std::string", {"\"td/tl/tl_jni_object.h\""}, {"<string>"});
|
{"\"td/tl/tl_jni_object.h\""}, {"<string>"});
|
||||||
#else
|
#else
|
||||||
generate_cpp<>("auto/td/telegram", "td_api", "std::string", "std::string", {}, {"<string>"});
|
generate_cpp<>("td/telegram", "td_api", "std::string", "std::string", {}, {"<string>"});
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
@ -16,7 +16,7 @@ int main(int argc, char *argv[]) {
|
|||||||
|
|
||||||
td::tl::tl_config config_td = td::tl::read_tl_config_from_file(argv[1]);
|
td::tl::tl_config config_td = td::tl::read_tl_config_from_file(argv[1]);
|
||||||
|
|
||||||
td::tl::write_tl_to_file(config_td, "auto/td/telegram/TdDotNetApi.cpp",
|
td::tl::write_tl_to_file(config_td, "td/telegram/TdDotNetApi.cpp",
|
||||||
td::tl::TlWriterDotNet("TdApi", false, "#include \"td/telegram/TdDotNetApi.h\"\n\n"));
|
td::tl::TlWriterDotNet("TdApi", false, "#include \"td/telegram/TdDotNetApi.h\"\n\n"));
|
||||||
td::tl::write_tl_to_file(config_td, "auto/td/telegram/TdDotNetApi.h", td::tl::TlWriterDotNet("TdApi", true, ""));
|
td::tl::write_tl_to_file(config_td, "td/telegram/TdDotNetApi.h", td::tl::TlWriterDotNet("TdApi", true, ""));
|
||||||
}
|
}
|
||||||
|
@ -10,6 +10,6 @@
|
|||||||
#include "td/tl/tl_generate.h"
|
#include "td/tl/tl_generate.h"
|
||||||
|
|
||||||
int main() {
|
int main() {
|
||||||
td::gen_json_converter(td::tl::read_tl_config_from_file("auto/tlo/td_api.tlo"), "td/telegram/td_api_json",
|
td::gen_json_converter(td::tl::read_tl_config_from_file("tlo/td_api.tlo"), "td/telegram/td_api_json",
|
||||||
td::tl::TL_writer::Server);
|
td::tl::TL_writer::Server);
|
||||||
}
|
}
|
||||||
|
@ -187,7 +187,6 @@ void gen_tl_constructor_from_string(StringBuilder &sb, const tl::simple::Schema
|
|||||||
void gen_json_converter_file(const tl::simple::Schema &schema, const std::string &file_name_base, bool is_header,
|
void gen_json_converter_file(const tl::simple::Schema &schema, const std::string &file_name_base, bool is_header,
|
||||||
Mode mode) {
|
Mode mode) {
|
||||||
auto file_name = is_header ? file_name_base + ".h" : file_name_base + ".cpp";
|
auto file_name = is_header ? file_name_base + ".h" : file_name_base + ".cpp";
|
||||||
file_name = "auto/" + file_name;
|
|
||||||
auto old_file_content = [&] {
|
auto old_file_content = [&] {
|
||||||
auto r_content = read_file(file_name);
|
auto r_content = read_file(file_name);
|
||||||
if (r_content.is_error()) {
|
if (r_content.is_error()) {
|
||||||
|
Loading…
Reference in New Issue
Block a user