# This file was generated by the YaTool build system (https://github.com/yandex/yatool),
# from a source YaTool build configuration provided in ya.make files.
#
# If the repository supports both CMake and ya build configurations, please modify both of them.
#
# If only CMake build configuration is supported then modify only CMake files and note that only
# simple modifications are allowed like adding source-files to targets or 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 easily ported back to the ya build
# system may be rejected.
#
# Please refer to the build instructions in the repository for more information about manual
# changes in this file.

add_executable(flatc)


target_compile_options(flatc PRIVATE
  -DFLATBUFFERS_LOCALE_INDEPENDENT=1
  $<IF:$<CXX_COMPILER_ID:MSVC>,,-Wno-everything>
)

target_include_directories(flatc PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/grpc
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/include
)

target_link_libraries(flatc PUBLIC
  contrib-libs-linux-headers
  contrib-libs-cxxsupp
  build-cow-on
)

target_allocator(flatc
  cpp-malloc-tcmalloc
  libs-tcmalloc-no_percpu_cache
)

target_link_options(flatc PRIVATE
  -ldl
  -lrt
  -Wl,--no-as-needed
  -fPIC
  -fPIC
  -lpthread
)

target_sources(flatc PRIVATE
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/grpc/src/compiler/cpp_generator.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/grpc/src/compiler/go_generator.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/grpc/src/compiler/java_generator.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/grpc/src/compiler/python_generator.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/grpc/src/compiler/swift_generator.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/grpc/src/compiler/ts_generator.cc
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/annotated_binary_text_gen.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/bfbs_gen_lua.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/bfbs_gen_nim.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/binary_annotator.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/code_generators.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/file_binary_writer.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/file_name_saving_file_manager.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/file_writer.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/flatc.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/flatc_main.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_binary.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_cpp.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_cpp_yandex_maps_iter.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_csharp.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_dart.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_fbs.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_go.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_grpc.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_java.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_json_schema.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_kotlin.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_kotlin_kmp.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_lobster.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_php.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_python.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_rust.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_swift.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_text.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_gen_ts.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/idl_parser.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/reflection.cpp
  ${PROJECT_SOURCE_DIR}/contrib/libs/flatbuffers/src/util.cpp
)


vcs_info(flatc)
