# This file was generated by the build system used internally in the Yandex monorepo. # Only simple modifications are allowed (adding source-files to targets, adding simple properties # like target_include_directories). These modifications will be ported to original # ya.make files by maintainers. Any complex modifications which can't be ported back to the # original buildsystem will not be accepted. cmake_minimum_required(VERSION 3.15) project(YDB LANGUAGES C CXX ASM) set(BUILD_SHARED_LIBS Off) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_EXTENSIONS Off) set(YDB_MAX_LINK_JOBS 5 CACHE STRING "Maximum parallel link jobs for Ninja generator") set_property(GLOBAL PROPERTY JOB_POOLS link_jobs=${YDB_MAX_LINK_JOBS}) set(CMAKE_JOB_POOL_LINK link_jobs) list(APPEND CMAKE_MODULE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/cmake) include_directories(${CMAKE_SOURCE_DIR} ${CMAKE_BINARY_DIR}) list(APPEND CMAKE_CTEST_ARGUMENTS "--output-on-failure") enable_testing() # Disable 'empty CUDA_ARCHITECTURES not allowed' warning # Can't set it in cuda.cmake because of CMake policy subdirectory stack rules cmake_policy(SET CMP0104 OLD) include(cmake/antlr.cmake) include(cmake/archive.cmake) include(cmake/bison.cmake) include(cmake/common.cmake) include(cmake/conan.cmake) include(cmake/fbs.cmake) include(cmake/global_flags.cmake) include(cmake/llvm-tools.cmake) include(cmake/masm.cmake) include(cmake/protobuf.cmake) include(cmake/shared_libs.cmake) include(cmake/global_vars.cmake) 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} ENV "CONAN_CMAKE_GENERATOR=${CMAKE_GENERATOR}" CONF "tools.cmake.cmaketoolchain:generator=${CMAKE_GENERATOR}" ) endif() if (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND NOT HAVE_CUDA) include(CMakeLists.linux-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Linux" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND NOT HAVE_CUDA) include(CMakeLists.linux-aarch64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64") include(CMakeLists.darwin-x86_64.txt) elseif (CMAKE_SYSTEM_NAME STREQUAL "Darwin" AND CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64") include(CMakeLists.darwin-arm64.txt) elseif (WIN32 AND CMAKE_SYSTEM_PROCESSOR STREQUAL "AMD64" AND NOT HAVE_CUDA) include(CMakeLists.windows-x86_64.txt) endif()