diff options
author | robot-ya-builder <robot-ya-builder@yandex-team.com> | 2022-10-03 13:42:11 +0300 |
---|---|---|
committer | robot-ya-builder <robot-ya-builder@yandex-team.com> | 2022-10-03 13:42:11 +0300 |
commit | 13d4d93b54c59bbaac9b0b8bcac6d97ef591dcc8 (patch) | |
tree | a357e613cd206c48ad1f0d4819621f03235c8d2e | |
parent | 8802f8ecdbe8bb031f90d7ecc6aeccfd373b1c84 (diff) | |
download | ydb-13d4d93b54c59bbaac9b0b8bcac6d97ef591dcc8.tar.gz |
External build system generator release 11
Update tools: yexport
-rw-r--r-- | CMakeLists.txt | 39 | ||||
-rw-r--r-- | cmake/global_flags.cmake | 2 | ||||
-rw-r--r-- | cmake/protobuf.cmake | 10 | ||||
-rw-r--r-- | cmake/yandex_common.cmake | 8 | ||||
-rw-r--r-- | conanfile.txt | 23 |
5 files changed, 50 insertions, 32 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt index 3ecc4238c41..34b904b6817 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -30,33 +30,18 @@ include(cmake/protobuf.cmake) include(cmake/yandex_common.cmake) include(cmake/global_vars.cmake) -conan_cmake_configure( - GENERATORS cmake_find_package - REQUIRES - bison/3.5.3 - c-ares/1.18.1 - libiconv/1.15 - liburing/2.1 - openssl/1.1.1l - ragel/6.10 - yasm/1.3.0 - zlib/1.2.12 - IMPORTS - "bin, *yasm* -> ./bin" - "bin, bison* -> ./bin/bison/bin" - "bin, ragel* -> ./bin" - "bin, ytasm* -> ./bin" - "res, * -> ./bin/bison/res" - OPTIONS - libiconv:shared=True -) -conan_cmake_autodetect(settings) -conan_cmake_install( - PATH_OR_REFERENCE . - BUILD missing - REMOTE conancenter - SETTINGS ${settings} -) +if (CMAKE_CROSSCOMPILING) + include(${CMAKE_BINARY_DIR}/conan_paths.cmake) +else() + conan_cmake_autodetect(settings) + conan_cmake_install( + PATH_OR_REFERENCE ${CMAKE_SOURCE_DIR} + INSTALL_FOLDER ${CMAKE_BINARY_DIR} + BUILD missing + REMOTE conancenter + SETTINGS ${settings} + ) +endif() if (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID) include(CMakeLists.linux.txt) diff --git a/cmake/global_flags.cmake b/cmake/global_flags.cmake index 5b8277f69ea..a303ccd22ed 100644 --- a/cmake/global_flags.cmake +++ b/cmake/global_flags.cmake @@ -76,6 +76,8 @@ endif() if (ANDROID) include_directories(SYSTEM ${CMAKE_ANDROID_NDK}/sources/cxx-stl/llvm-libc++abi/include) + set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsigned-char") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsigned-char") else() set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64") endif() diff --git a/cmake/protobuf.cmake b/cmake/protobuf.cmake index f8ebd9434f5..95a599ca378 100644 --- a/cmake/protobuf.cmake +++ b/cmake/protobuf.cmake @@ -37,14 +37,18 @@ function(target_proto_messages Tgt Scope) ${OutputDir}/${OutputBase}.pb.cc ${OutputDir}/${OutputBase}.pb.h ${ProtocExtraOuts} - COMMAND protoc + COMMAND ${TOOLS_ROOT}/contrib/tools/protoc/bin/protoc ${COMMON_PROTOC_FLAGS} "-I$<JOIN:$<TARGET_GENEX_EVAL:${Tgt},$<TARGET_PROPERTY:${Tgt},PROTO_ADDINCL>>,;-I>" "$<JOIN:$<TARGET_GENEX_EVAL:${Tgt},$<TARGET_PROPERTY:${Tgt},PROTO_OUTS>>,;>" - --plugin=protoc-gen-cpp_styleguide=${CMAKE_BINARY_DIR}/contrib/tools/protoc/plugins/cpp_styleguide/cpp_styleguide + --plugin=protoc-gen-cpp_styleguide=${TOOLS_ROOT}/contrib/tools/protoc/plugins/cpp_styleguide/cpp_styleguide "$<JOIN:$<TARGET_GENEX_EVAL:${Tgt},$<TARGET_PROPERTY:${Tgt},PROTOC_OPTS>>,;>" ${protoRel} - DEPENDS ${proto} $<TARGET_PROPERTY:${Tgt},PROTOC_DEPS> ${CMAKE_BINARY_DIR}/contrib/tools/protoc/plugins/cpp_styleguide/cpp_styleguide + DEPENDS + ${proto} + $<TARGET_PROPERTY:${Tgt},PROTOC_DEPS> + ${TOOLS_ROOT}/contrib/tools/protoc/bin/protoc + ${TOOLS_ROOT}/contrib/tools/protoc/plugins/cpp_styleguide/cpp_styleguide WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} COMMAND_EXPAND_LISTS ) diff --git a/cmake/yandex_common.cmake b/cmake/yandex_common.cmake index c422bd77661..d26aef54988 100644 --- a/cmake/yandex_common.cmake +++ b/cmake/yandex_common.cmake @@ -94,8 +94,12 @@ function(generate_enum_serilization Tgt Input) get_filename_component(BaseName ${Input} NAME) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${BaseName}_serialized.cpp - COMMAND enum_parser ${Input} --include-path ${ENUM_SERIALIZATION_ARGS_INCLUDE_HEADERS} --output ${CMAKE_CURRENT_BINARY_DIR}/${BaseName}_serialized.cpp - DEPENDS ${Input} + COMMAND + ${TOOLS_ROOT}/tools/enum_parser/enum_parser/bin/enum_parser + ${Input} + --include-path ${ENUM_SERIALIZATION_ARGS_INCLUDE_HEADERS} + --output ${CMAKE_CURRENT_BINARY_DIR}/${BaseName}_serialized.cpp + DEPENDS ${Input} ${TOOLS_ROOT}/tools/enum_parser/enum_parser/bin/enum_parser ) target_sources(${Tgt} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/${BaseName}_serialized.cpp) endfunction() diff --git a/conanfile.txt b/conanfile.txt new file mode 100644 index 00000000000..4a0a112ad6b --- /dev/null +++ b/conanfile.txt @@ -0,0 +1,23 @@ +[requires] +bison/3.5.3 +c-ares/1.18.1 +libiconv/1.15 +liburing/2.1 +openssl/1.1.1l +ragel/6.10 +yasm/1.3.0 +zlib/1.2.12 + +[options] +libiconv:shared=True + +[imports] +bin, *yasm* -> ./bin +bin, bison* -> ./bin/bison/bin +bin, ragel* -> ./bin +bin, ytasm* -> ./bin +res, * -> ./bin/bison/res + +[generators] +cmake_find_package +cmake_paths |