From cbc0c479c131a1e63ca86fe98b031e1bcac725d8 Mon Sep 17 00:00:00 2001
From: robot-ya-builder <robot-ya-builder@yandex-team.com>
Date: Mon, 6 Mar 2023 16:56:18 +0300
Subject: External build system generator release 17

Update tools: yexport
---
 library/cpp/CMakeLists.txt                         |  2 +-
 library/cpp/accurate_accumulate/CMakeLists.txt     |  2 +-
 library/cpp/actors/core/CMakeLists.darwin.txt      | 12 +++++
 .../cpp/actors/core/CMakeLists.linux-aarch64.txt   | 12 +++++
 library/cpp/actors/core/CMakeLists.linux.txt       | 12 +++++
 library/cpp/actors/core/CMakeLists.txt             |  2 +-
 library/cpp/actors/dnscachelib/CMakeLists.txt      |  2 +-
 library/cpp/actors/dnsresolver/CMakeLists.txt      |  2 +-
 library/cpp/actors/helpers/CMakeLists.txt          |  2 +-
 library/cpp/actors/http/CMakeLists.txt             |  2 +-
 library/cpp/actors/interconnect/CMakeLists.txt     |  2 +-
 .../cpp/actors/interconnect/mock/CMakeLists.txt    |  2 +-
 library/cpp/actors/log_backend/CMakeLists.txt      |  2 +-
 library/cpp/actors/memory_log/CMakeLists.txt       |  2 +-
 library/cpp/actors/prof/CMakeLists.txt             |  2 +-
 library/cpp/actors/protos/CMakeLists.darwin.txt    | 48 +++++++++++++++++++
 .../cpp/actors/protos/CMakeLists.linux-aarch64.txt | 48 +++++++++++++++++++
 library/cpp/actors/protos/CMakeLists.linux.txt     | 48 +++++++++++++++++++
 library/cpp/actors/protos/CMakeLists.txt           |  2 +-
 library/cpp/actors/testlib/CMakeLists.txt          |  2 +-
 library/cpp/actors/util/CMakeLists.txt             |  2 +-
 library/cpp/actors/wilson/CMakeLists.txt           |  2 +-
 .../cpp/actors/wilson/protos/CMakeLists.darwin.txt | 54 ++++++++++++++++++++++
 .../wilson/protos/CMakeLists.linux-aarch64.txt     | 54 ++++++++++++++++++++++
 .../cpp/actors/wilson/protos/CMakeLists.linux.txt  | 54 ++++++++++++++++++++++
 library/cpp/actors/wilson/protos/CMakeLists.txt    |  2 +-
 library/cpp/archive/CMakeLists.txt                 |  2 +-
 library/cpp/balloc/CMakeLists.txt                  |  2 +-
 library/cpp/balloc/lib/CMakeLists.txt              |  2 +-
 library/cpp/balloc/setup/CMakeLists.txt            |  2 +-
 library/cpp/binsaver/CMakeLists.txt                |  2 +-
 library/cpp/bit_io/CMakeLists.txt                  |  2 +-
 library/cpp/blockcodecs/CMakeLists.txt             |  2 +-
 .../cpp/blockcodecs/codecs/brotli/CMakeLists.txt   |  2 +-
 library/cpp/blockcodecs/codecs/bzip/CMakeLists.txt |  2 +-
 .../cpp/blockcodecs/codecs/fastlz/CMakeLists.txt   |  2 +-
 .../codecs/legacy_zstd06/CMakeLists.txt            |  2 +-
 library/cpp/blockcodecs/codecs/lz4/CMakeLists.txt  |  2 +-
 library/cpp/blockcodecs/codecs/lzma/CMakeLists.txt |  2 +-
 .../cpp/blockcodecs/codecs/snappy/CMakeLists.txt   |  2 +-
 library/cpp/blockcodecs/codecs/zlib/CMakeLists.txt |  2 +-
 library/cpp/blockcodecs/codecs/zstd/CMakeLists.txt |  2 +-
 library/cpp/blockcodecs/core/CMakeLists.txt        |  2 +-
 library/cpp/bucket_quoter/CMakeLists.txt           |  2 +-
 library/cpp/build_info/CMakeLists.darwin.txt       | 24 +++++-----
 .../cpp/build_info/CMakeLists.linux-aarch64.txt    | 24 +++++-----
 library/cpp/build_info/CMakeLists.linux.txt        | 24 +++++-----
 library/cpp/build_info/CMakeLists.txt              |  2 +-
 library/cpp/cache/CMakeLists.txt                   |  2 +-
 library/cpp/case_insensitive_string/CMakeLists.txt |  2 +-
 library/cpp/cgiparam/CMakeLists.txt                |  2 +-
 library/cpp/charset/CMakeLists.txt                 |  2 +-
 library/cpp/codecs/CMakeLists.txt                  |  2 +-
 library/cpp/codecs/greedy_dict/CMakeLists.txt      |  2 +-
 library/cpp/colorizer/CMakeLists.txt               |  2 +-
 library/cpp/compproto/CMakeLists.txt               |  2 +-
 library/cpp/comptable/CMakeLists.txt               |  2 +-
 library/cpp/config/CMakeLists.darwin.txt           | 15 +++++-
 library/cpp/config/CMakeLists.linux-aarch64.txt    | 15 +++++-
 library/cpp/config/CMakeLists.linux.txt            | 15 +++++-
 library/cpp/config/CMakeLists.txt                  |  2 +-
 library/cpp/containers/2d_array/CMakeLists.txt     |  2 +-
 .../cpp/containers/absl_flat_hash/CMakeLists.txt   |  2 +-
 library/cpp/containers/atomizer/CMakeLists.txt     |  2 +-
 library/cpp/containers/bitseq/CMakeLists.txt       |  2 +-
 .../cpp/containers/compact_vector/CMakeLists.txt   |  2 +-
 library/cpp/containers/comptrie/CMakeLists.txt     |  2 +-
 .../disjoint_interval_tree/CMakeLists.txt          |  2 +-
 library/cpp/containers/flat_hash/CMakeLists.txt    |  2 +-
 .../containers/intrusive_avl_tree/CMakeLists.txt   |  2 +-
 .../containers/intrusive_rb_tree/CMakeLists.txt    |  2 +-
 library/cpp/containers/paged_vector/CMakeLists.txt |  2 +-
 library/cpp/containers/ring_buffer/CMakeLists.txt  |  2 +-
 .../cpp/containers/sorted_vector/CMakeLists.txt    |  2 +-
 library/cpp/containers/stack_array/CMakeLists.txt  |  2 +-
 library/cpp/containers/stack_vector/CMakeLists.txt |  2 +-
 library/cpp/containers/str_map/CMakeLists.txt      |  2 +-
 library/cpp/containers/top_keeper/CMakeLists.txt   |  2 +-
 library/cpp/coroutine/engine/CMakeLists.darwin.txt | 12 +++++
 .../coroutine/engine/CMakeLists.linux-aarch64.txt  | 12 +++++
 library/cpp/coroutine/engine/CMakeLists.linux.txt  | 12 +++++
 library/cpp/coroutine/engine/CMakeLists.txt        |  2 +-
 library/cpp/coroutine/listener/CMakeLists.txt      |  2 +-
 library/cpp/cppparser/CMakeLists.txt               |  2 +-
 library/cpp/cpuid_check/CMakeLists.txt             |  2 +-
 library/cpp/dbg_output/CMakeLists.txt              |  2 +-
 library/cpp/deprecated/accessors/CMakeLists.txt    |  2 +-
 library/cpp/deprecated/atomic/CMakeLists.txt       |  2 +-
 library/cpp/deprecated/enum_codegen/CMakeLists.txt |  2 +-
 library/cpp/deprecated/kmp/CMakeLists.txt          |  2 +-
 library/cpp/deprecated/split/CMakeLists.txt        |  2 +-
 library/cpp/diff/CMakeLists.txt                    |  2 +-
 library/cpp/digest/argonish/CMakeLists.txt         |  2 +-
 .../digest/argonish/internal/argon2/CMakeLists.txt |  2 +-
 .../argonish/internal/blake2b/CMakeLists.txt       |  2 +-
 .../digest/argonish/internal/blamka/CMakeLists.txt |  2 +-
 .../argonish/internal/proxies/CMakeLists.txt       |  2 +-
 .../argonish/internal/proxies/avx2/CMakeLists.txt  |  2 +-
 .../argonish/internal/proxies/macro/CMakeLists.txt |  2 +-
 .../argonish/internal/proxies/ref/CMakeLists.txt   |  2 +-
 .../argonish/internal/proxies/sse2/CMakeLists.txt  |  2 +-
 .../argonish/internal/proxies/sse41/CMakeLists.txt |  2 +-
 .../argonish/internal/proxies/ssse3/CMakeLists.txt |  2 +-
 .../argonish/internal/rotations/CMakeLists.txt     |  2 +-
 library/cpp/digest/crc32c/CMakeLists.txt           |  2 +-
 library/cpp/digest/lower_case/CMakeLists.txt       |  2 +-
 library/cpp/digest/md5/CMakeLists.txt              |  2 +-
 library/cpp/digest/murmur/CMakeLists.txt           |  2 +-
 library/cpp/digest/old_crc/CMakeLists.darwin.txt   | 15 +++++-
 .../digest/old_crc/CMakeLists.linux-aarch64.txt    | 15 +++++-
 library/cpp/digest/old_crc/CMakeLists.linux.txt    | 15 +++++-
 library/cpp/digest/old_crc/CMakeLists.txt          |  2 +-
 library/cpp/digest/old_crc/gencrc/CMakeLists.txt   |  2 +-
 library/cpp/digest/sfh/CMakeLists.txt              |  2 +-
 library/cpp/dns/CMakeLists.txt                     |  2 +-
 library/cpp/enumbitset/CMakeLists.txt              |  2 +-
 library/cpp/execprofile/CMakeLists.txt             |  2 +-
 library/cpp/getopt/CMakeLists.txt                  |  2 +-
 library/cpp/getopt/small/CMakeLists.txt            |  2 +-
 library/cpp/grpc/client/CMakeLists.txt             |  2 +-
 library/cpp/grpc/server/CMakeLists.darwin.txt      |  6 +++
 .../cpp/grpc/server/CMakeLists.linux-aarch64.txt   |  6 +++
 library/cpp/grpc/server/CMakeLists.linux.txt       |  6 +++
 library/cpp/grpc/server/CMakeLists.txt             |  2 +-
 library/cpp/grpc/server/actors/CMakeLists.txt      |  2 +-
 library/cpp/histogram/adaptive/CMakeLists.txt      |  2 +-
 .../adaptive/protos/CMakeLists.darwin.txt          | 12 +++++
 .../adaptive/protos/CMakeLists.linux-aarch64.txt   | 12 +++++
 .../histogram/adaptive/protos/CMakeLists.linux.txt | 12 +++++
 .../cpp/histogram/adaptive/protos/CMakeLists.txt   |  2 +-
 library/cpp/histogram/hdr/CMakeLists.txt           |  2 +-
 library/cpp/html/escape/CMakeLists.txt             |  2 +-
 library/cpp/html/pcdata/CMakeLists.txt             |  2 +-
 library/cpp/http/fetch/CMakeLists.darwin.txt       |  6 +++
 .../cpp/http/fetch/CMakeLists.linux-aarch64.txt    |  6 +++
 library/cpp/http/fetch/CMakeLists.linux.txt        |  6 +++
 library/cpp/http/fetch/CMakeLists.txt              |  2 +-
 library/cpp/http/io/CMakeLists.txt                 |  2 +-
 library/cpp/http/misc/CMakeLists.darwin.txt        |  6 +++
 library/cpp/http/misc/CMakeLists.linux-aarch64.txt |  6 +++
 library/cpp/http/misc/CMakeLists.linux.txt         |  6 +++
 library/cpp/http/misc/CMakeLists.txt               |  2 +-
 library/cpp/http/server/CMakeLists.txt             |  2 +-
 library/cpp/http/simple/CMakeLists.txt             |  2 +-
 library/cpp/hyperloglog/CMakeLists.txt             |  2 +-
 library/cpp/int128/CMakeLists.txt                  |  2 +-
 library/cpp/ipmath/CMakeLists.txt                  |  2 +-
 library/cpp/ipv6_address/CMakeLists.txt            |  2 +-
 library/cpp/iterator/CMakeLists.txt                |  2 +-
 library/cpp/json/CMakeLists.txt                    |  2 +-
 library/cpp/json/common/CMakeLists.txt             |  2 +-
 library/cpp/json/easy_parse/CMakeLists.txt         |  2 +-
 library/cpp/json/fast_sax/CMakeLists.txt           |  2 +-
 library/cpp/json/writer/CMakeLists.darwin.txt      |  6 +++
 .../cpp/json/writer/CMakeLists.linux-aarch64.txt   |  6 +++
 library/cpp/json/writer/CMakeLists.linux.txt       |  6 +++
 library/cpp/json/writer/CMakeLists.txt             |  2 +-
 library/cpp/json/yson/CMakeLists.txt               |  2 +-
 library/cpp/lcs/CMakeLists.txt                     |  2 +-
 library/cpp/lfalloc/CMakeLists.txt                 |  2 +-
 library/cpp/lfalloc/alloc_profiler/CMakeLists.txt  |  2 +-
 library/cpp/lfalloc/dbg_info/CMakeLists.txt        |  2 +-
 library/cpp/linear_regression/CMakeLists.txt       |  2 +-
 library/cpp/logger/CMakeLists.darwin.txt           |  6 +++
 library/cpp/logger/CMakeLists.linux-aarch64.txt    |  6 +++
 library/cpp/logger/CMakeLists.linux.txt            |  6 +++
 library/cpp/logger/CMakeLists.txt                  |  2 +-
 library/cpp/logger/global/CMakeLists.txt           |  2 +-
 library/cpp/lua/CMakeLists.txt                     |  2 +-
 library/cpp/lwtrace/CMakeLists.txt                 |  2 +-
 library/cpp/lwtrace/mon/CMakeLists.darwin.txt      |  6 +++
 .../cpp/lwtrace/mon/CMakeLists.linux-aarch64.txt   |  6 +++
 library/cpp/lwtrace/mon/CMakeLists.linux.txt       |  6 +++
 library/cpp/lwtrace/mon/CMakeLists.txt             |  2 +-
 library/cpp/lwtrace/mon/analytics/CMakeLists.txt   |  2 +-
 library/cpp/lwtrace/protos/CMakeLists.darwin.txt   | 12 +++++
 .../lwtrace/protos/CMakeLists.linux-aarch64.txt    | 12 +++++
 library/cpp/lwtrace/protos/CMakeLists.linux.txt    | 12 +++++
 library/cpp/lwtrace/protos/CMakeLists.txt          |  2 +-
 library/cpp/malloc/CMakeLists.txt                  |  2 +-
 library/cpp/malloc/api/CMakeLists.txt              |  2 +-
 library/cpp/malloc/jemalloc/CMakeLists.txt         |  2 +-
 library/cpp/malloc/tcmalloc/CMakeLists.txt         |  2 +-
 library/cpp/messagebus/CMakeLists.txt              |  2 +-
 library/cpp/messagebus/actor/CMakeLists.txt        |  2 +-
 library/cpp/messagebus/config/CMakeLists.txt       |  2 +-
 .../messagebus/monitoring/CMakeLists.darwin.txt    | 12 +++++
 .../monitoring/CMakeLists.linux-aarch64.txt        | 12 +++++
 .../cpp/messagebus/monitoring/CMakeLists.linux.txt | 12 +++++
 library/cpp/messagebus/monitoring/CMakeLists.txt   |  2 +-
 library/cpp/messagebus/oldmodule/CMakeLists.txt    |  2 +-
 library/cpp/messagebus/protobuf/CMakeLists.txt     |  2 +-
 library/cpp/messagebus/scheduler/CMakeLists.txt    |  2 +-
 library/cpp/messagebus/www/CMakeLists.darwin.txt   |  6 +++
 .../messagebus/www/CMakeLists.linux-aarch64.txt    |  6 +++
 library/cpp/messagebus/www/CMakeLists.linux.txt    |  6 +++
 library/cpp/messagebus/www/CMakeLists.txt          |  2 +-
 library/cpp/mime/types/CMakeLists.darwin.txt       |  6 +++
 .../cpp/mime/types/CMakeLists.linux-aarch64.txt    |  6 +++
 library/cpp/mime/types/CMakeLists.linux.txt        |  6 +++
 library/cpp/mime/types/CMakeLists.txt              |  2 +-
 library/cpp/monlib/deprecated/json/CMakeLists.txt  |  2 +-
 library/cpp/monlib/dynamic_counters/CMakeLists.txt |  2 +-
 .../dynamic_counters/percentile/CMakeLists.txt     |  2 +-
 library/cpp/monlib/encode/CMakeLists.darwin.txt    |  6 +++
 .../cpp/monlib/encode/CMakeLists.linux-aarch64.txt |  6 +++
 library/cpp/monlib/encode/CMakeLists.linux.txt     |  6 +++
 library/cpp/monlib/encode/CMakeLists.txt           |  2 +-
 library/cpp/monlib/encode/buffered/CMakeLists.txt  |  2 +-
 library/cpp/monlib/encode/json/CMakeLists.txt      |  2 +-
 .../legacy_protobuf/protos/CMakeLists.darwin.txt   | 12 +++++
 .../protos/CMakeLists.linux-aarch64.txt            | 12 +++++
 .../legacy_protobuf/protos/CMakeLists.linux.txt    | 12 +++++
 .../encode/legacy_protobuf/protos/CMakeLists.txt   |  2 +-
 .../cpp/monlib/encode/prometheus/CMakeLists.txt    |  2 +-
 library/cpp/monlib/encode/spack/CMakeLists.txt     |  2 +-
 library/cpp/monlib/encode/text/CMakeLists.txt      |  2 +-
 library/cpp/monlib/exception/CMakeLists.txt        |  2 +-
 library/cpp/monlib/messagebus/CMakeLists.txt       |  2 +-
 library/cpp/monlib/metrics/CMakeLists.darwin.txt   |  6 +++
 .../monlib/metrics/CMakeLists.linux-aarch64.txt    |  6 +++
 library/cpp/monlib/metrics/CMakeLists.linux.txt    |  6 +++
 library/cpp/monlib/metrics/CMakeLists.txt          |  2 +-
 library/cpp/monlib/service/CMakeLists.txt          |  2 +-
 library/cpp/monlib/service/pages/CMakeLists.txt    |  2 +-
 .../pages/tablesorter/CMakeLists.darwin.txt        |  6 +++
 .../pages/tablesorter/CMakeLists.linux-aarch64.txt |  6 +++
 .../service/pages/tablesorter/CMakeLists.linux.txt |  6 +++
 .../service/pages/tablesorter/CMakeLists.txt       |  2 +-
 library/cpp/on_disk/chunks/CMakeLists.txt          |  2 +-
 library/cpp/openssl/holders/CMakeLists.txt         |  2 +-
 library/cpp/openssl/init/CMakeLists.txt            |  2 +-
 library/cpp/openssl/io/CMakeLists.txt              |  2 +-
 library/cpp/openssl/method/CMakeLists.txt          |  2 +-
 library/cpp/packedtypes/CMakeLists.txt             |  2 +-
 library/cpp/packers/CMakeLists.txt                 |  2 +-
 library/cpp/pop_count/CMakeLists.txt               |  2 +-
 library/cpp/presort/CMakeLists.txt                 |  2 +-
 library/cpp/protobuf/interop/CMakeLists.txt        |  2 +-
 library/cpp/protobuf/json/CMakeLists.txt           |  2 +-
 library/cpp/protobuf/util/CMakeLists.txt           |  2 +-
 .../cpp/protobuf/util/proto/CMakeLists.darwin.txt  | 12 +++++
 .../util/proto/CMakeLists.linux-aarch64.txt        | 12 +++++
 .../cpp/protobuf/util/proto/CMakeLists.linux.txt   | 12 +++++
 library/cpp/protobuf/util/proto/CMakeLists.txt     |  2 +-
 library/cpp/random_provider/CMakeLists.txt         |  2 +-
 library/cpp/regex/CMakeLists.txt                   |  2 +-
 library/cpp/regex/hyperscan/CMakeLists.txt         |  2 +-
 library/cpp/regex/pcre/CMakeLists.txt              |  2 +-
 library/cpp/regex/pire/CMakeLists.txt              |  2 +-
 library/cpp/resource/CMakeLists.txt                |  2 +-
 library/cpp/retry/CMakeLists.txt                   |  2 +-
 library/cpp/retry/protos/CMakeLists.darwin.txt     | 12 +++++
 .../cpp/retry/protos/CMakeLists.linux-aarch64.txt  | 12 +++++
 library/cpp/retry/protos/CMakeLists.linux.txt      | 12 +++++
 library/cpp/retry/protos/CMakeLists.txt            |  2 +-
 library/cpp/scheme/CMakeLists.darwin.txt           |  6 +++
 library/cpp/scheme/CMakeLists.linux-aarch64.txt    |  6 +++
 library/cpp/scheme/CMakeLists.linux.txt            |  6 +++
 library/cpp/scheme/CMakeLists.txt                  |  2 +-
 library/cpp/sighandler/CMakeLists.txt              |  2 +-
 library/cpp/sliding_window/CMakeLists.txt          |  2 +-
 library/cpp/sse/CMakeLists.txt                     |  2 +-
 library/cpp/streams/brotli/CMakeLists.txt          |  2 +-
 library/cpp/streams/bzip2/CMakeLists.txt           |  2 +-
 library/cpp/streams/lzma/CMakeLists.txt            |  2 +-
 library/cpp/streams/zc_memory_input/CMakeLists.txt |  2 +-
 library/cpp/streams/zstd/CMakeLists.txt            |  2 +-
 library/cpp/string_utils/base64/CMakeLists.txt     |  2 +-
 library/cpp/string_utils/csv/CMakeLists.txt        |  2 +-
 .../cpp/string_utils/indent_text/CMakeLists.txt    |  2 +-
 .../string_utils/levenshtein_diff/CMakeLists.txt   |  2 +-
 library/cpp/string_utils/parse_size/CMakeLists.txt |  2 +-
 library/cpp/string_utils/quote/CMakeLists.txt      |  2 +-
 .../string_utils/relaxed_escaper/CMakeLists.txt    |  2 +-
 library/cpp/string_utils/scan/CMakeLists.txt       |  2 +-
 library/cpp/string_utils/url/CMakeLists.txt        |  2 +-
 library/cpp/string_utils/ztstrbuf/CMakeLists.txt   |  2 +-
 library/cpp/svnversion/CMakeLists.txt              |  2 +-
 library/cpp/tdigest/CMakeLists.darwin.txt          | 12 +++++
 library/cpp/tdigest/CMakeLists.linux-aarch64.txt   | 12 +++++
 library/cpp/tdigest/CMakeLists.linux.txt           | 12 +++++
 library/cpp/tdigest/CMakeLists.txt                 |  2 +-
 library/cpp/terminate_handler/CMakeLists.txt       |  2 +-
 library/cpp/testing/benchmark/CMakeLists.txt       |  2 +-
 library/cpp/testing/benchmark/main/CMakeLists.txt  |  2 +-
 library/cpp/testing/common/CMakeLists.txt          |  2 +-
 .../cpp/testing/gmock_in_unittest/CMakeLists.txt   |  2 +-
 library/cpp/testing/gtest/CMakeLists.txt           |  2 +-
 .../cpp/testing/gtest_extensions/CMakeLists.txt    |  2 +-
 library/cpp/testing/gtest_main/CMakeLists.txt      |  2 +-
 library/cpp/testing/hook/CMakeLists.txt            |  2 +-
 library/cpp/testing/unittest/CMakeLists.txt        |  2 +-
 library/cpp/testing/unittest_main/CMakeLists.txt   |  2 +-
 library/cpp/threading/atomic/CMakeLists.txt        |  2 +-
 library/cpp/threading/chunk_queue/CMakeLists.txt   |  2 +-
 library/cpp/threading/equeue/CMakeLists.txt        |  2 +-
 library/cpp/threading/future/CMakeLists.txt        |  2 +-
 library/cpp/threading/light_rw_lock/CMakeLists.txt |  2 +-
 .../cpp/threading/local_executor/CMakeLists.txt    |  2 +-
 .../cpp/threading/poor_man_openmp/CMakeLists.txt   |  2 +-
 library/cpp/threading/queue/CMakeLists.txt         |  2 +-
 library/cpp/threading/skip_list/CMakeLists.txt     |  2 +-
 .../cpp/threading/task_scheduler/CMakeLists.txt    |  2 +-
 library/cpp/time_provider/CMakeLists.txt           |  2 +-
 .../cpp/timezone_conversion/CMakeLists.darwin.txt  |  6 +++
 .../CMakeLists.linux-aarch64.txt                   |  6 +++
 .../cpp/timezone_conversion/CMakeLists.linux.txt   |  6 +++
 library/cpp/timezone_conversion/CMakeLists.txt     |  2 +-
 library/cpp/tld/CMakeLists.txt                     |  2 +-
 library/cpp/unicode/normalization/CMakeLists.txt   |  2 +-
 library/cpp/unicode/punycode/CMakeLists.txt        |  2 +-
 library/cpp/unicode/set/CMakeLists.darwin.txt      |  6 +++
 .../cpp/unicode/set/CMakeLists.linux-aarch64.txt   |  6 +++
 library/cpp/unicode/set/CMakeLists.linux.txt       |  6 +++
 library/cpp/unicode/set/CMakeLists.txt             |  2 +-
 .../cpp/unified_agent_client/CMakeLists.darwin.txt |  6 +++
 .../CMakeLists.linux-aarch64.txt                   |  6 +++
 .../cpp/unified_agent_client/CMakeLists.linux.txt  |  6 +++
 library/cpp/unified_agent_client/CMakeLists.txt    |  2 +-
 .../proto/CMakeLists.darwin.txt                    | 24 ++++++++++
 .../proto/CMakeLists.linux-aarch64.txt             | 24 ++++++++++
 .../proto/CMakeLists.linux.txt                     | 24 ++++++++++
 .../cpp/unified_agent_client/proto/CMakeLists.txt  |  2 +-
 library/cpp/uri/CMakeLists.txt                     |  2 +-
 library/cpp/xml/document/CMakeLists.txt            |  2 +-
 library/cpp/xml/init/CMakeLists.txt                |  2 +-
 library/cpp/yaml/as/CMakeLists.txt                 |  2 +-
 library/cpp/yaml/fyamlcpp/CMakeLists.txt           |  2 +-
 library/cpp/yson/CMakeLists.txt                    |  2 +-
 library/cpp/yson/json/CMakeLists.txt               |  2 +-
 library/cpp/yson/node/CMakeLists.darwin.txt        |  6 +++
 library/cpp/yson/node/CMakeLists.linux-aarch64.txt |  6 +++
 library/cpp/yson/node/CMakeLists.linux.txt         |  6 +++
 library/cpp/yson/node/CMakeLists.txt               |  2 +-
 library/cpp/yson_pull/CMakeLists.darwin.txt        | 12 +++++
 library/cpp/yson_pull/CMakeLists.linux-aarch64.txt | 12 +++++
 library/cpp/yson_pull/CMakeLists.linux.txt         | 12 +++++
 library/cpp/yson_pull/CMakeLists.txt               |  2 +-
 library/cpp/yt/assert/CMakeLists.txt               |  2 +-
 library/cpp/yt/coding/CMakeLists.txt               |  2 +-
 library/cpp/yt/exception/CMakeLists.txt            |  2 +-
 library/cpp/yt/malloc/CMakeLists.txt               |  2 +-
 library/cpp/yt/memory/CMakeLists.txt               |  2 +-
 library/cpp/yt/misc/CMakeLists.txt                 |  2 +-
 library/cpp/yt/small_containers/CMakeLists.txt     |  2 +-
 library/cpp/yt/string/CMakeLists.txt               |  2 +-
 library/cpp/yt/yson/CMakeLists.txt                 |  2 +-
 library/cpp/yt/yson_string/CMakeLists.txt          |  2 +-
 library/cpp/ytalloc/api/CMakeLists.txt             |  2 +-
 350 files changed, 1394 insertions(+), 302 deletions(-)

(limited to 'library/cpp')

diff --git a/library/cpp/CMakeLists.txt b/library/cpp/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/CMakeLists.txt
+++ b/library/cpp/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/accurate_accumulate/CMakeLists.txt b/library/cpp/accurate_accumulate/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/accurate_accumulate/CMakeLists.txt
+++ b/library/cpp/accurate_accumulate/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/core/CMakeLists.darwin.txt b/library/cpp/actors/core/CMakeLists.darwin.txt
index e1527f1687..7fe4e2c2ff 100644
--- a/library/cpp/actors/core/CMakeLists.darwin.txt
+++ b/library/cpp/actors/core/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-actors-core)
 target_link_libraries(cpp-actors-core PUBLIC
diff --git a/library/cpp/actors/core/CMakeLists.linux-aarch64.txt b/library/cpp/actors/core/CMakeLists.linux-aarch64.txt
index c6abc709a6..e2a6cc1f08 100644
--- a/library/cpp/actors/core/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/actors/core/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-actors-core)
 target_link_libraries(cpp-actors-core PUBLIC
diff --git a/library/cpp/actors/core/CMakeLists.linux.txt b/library/cpp/actors/core/CMakeLists.linux.txt
index c6abc709a6..e2a6cc1f08 100644
--- a/library/cpp/actors/core/CMakeLists.linux.txt
+++ b/library/cpp/actors/core/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-actors-core)
 target_link_libraries(cpp-actors-core PUBLIC
diff --git a/library/cpp/actors/core/CMakeLists.txt b/library/cpp/actors/core/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/core/CMakeLists.txt
+++ b/library/cpp/actors/core/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/dnscachelib/CMakeLists.txt b/library/cpp/actors/dnscachelib/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/dnscachelib/CMakeLists.txt
+++ b/library/cpp/actors/dnscachelib/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/dnsresolver/CMakeLists.txt b/library/cpp/actors/dnsresolver/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/dnsresolver/CMakeLists.txt
+++ b/library/cpp/actors/dnsresolver/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/helpers/CMakeLists.txt b/library/cpp/actors/helpers/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/helpers/CMakeLists.txt
+++ b/library/cpp/actors/helpers/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/http/CMakeLists.txt b/library/cpp/actors/http/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/http/CMakeLists.txt
+++ b/library/cpp/actors/http/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/interconnect/CMakeLists.txt b/library/cpp/actors/interconnect/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/interconnect/CMakeLists.txt
+++ b/library/cpp/actors/interconnect/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/interconnect/mock/CMakeLists.txt b/library/cpp/actors/interconnect/mock/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/interconnect/mock/CMakeLists.txt
+++ b/library/cpp/actors/interconnect/mock/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/log_backend/CMakeLists.txt b/library/cpp/actors/log_backend/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/log_backend/CMakeLists.txt
+++ b/library/cpp/actors/log_backend/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/memory_log/CMakeLists.txt b/library/cpp/actors/memory_log/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/memory_log/CMakeLists.txt
+++ b/library/cpp/actors/memory_log/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/prof/CMakeLists.txt b/library/cpp/actors/prof/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/prof/CMakeLists.txt
+++ b/library/cpp/actors/prof/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/protos/CMakeLists.darwin.txt b/library/cpp/actors/protos/CMakeLists.darwin.txt
index 7b69be3ba5..be3257b127 100644
--- a/library/cpp/actors/protos/CMakeLists.darwin.txt
+++ b/library/cpp/actors/protos/CMakeLists.darwin.txt
@@ -6,6 +6,54 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-actors-protos)
 target_link_libraries(cpp-actors-protos PUBLIC
diff --git a/library/cpp/actors/protos/CMakeLists.linux-aarch64.txt b/library/cpp/actors/protos/CMakeLists.linux-aarch64.txt
index 84a923e5c2..a9da706400 100644
--- a/library/cpp/actors/protos/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/actors/protos/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,54 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-actors-protos)
 target_link_libraries(cpp-actors-protos PUBLIC
diff --git a/library/cpp/actors/protos/CMakeLists.linux.txt b/library/cpp/actors/protos/CMakeLists.linux.txt
index 84a923e5c2..a9da706400 100644
--- a/library/cpp/actors/protos/CMakeLists.linux.txt
+++ b/library/cpp/actors/protos/CMakeLists.linux.txt
@@ -6,6 +6,54 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-actors-protos)
 target_link_libraries(cpp-actors-protos PUBLIC
diff --git a/library/cpp/actors/protos/CMakeLists.txt b/library/cpp/actors/protos/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/protos/CMakeLists.txt
+++ b/library/cpp/actors/protos/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/testlib/CMakeLists.txt b/library/cpp/actors/testlib/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/testlib/CMakeLists.txt
+++ b/library/cpp/actors/testlib/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/util/CMakeLists.txt b/library/cpp/actors/util/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/util/CMakeLists.txt
+++ b/library/cpp/actors/util/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/wilson/CMakeLists.txt b/library/cpp/actors/wilson/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/wilson/CMakeLists.txt
+++ b/library/cpp/actors/wilson/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/actors/wilson/protos/CMakeLists.darwin.txt b/library/cpp/actors/wilson/protos/CMakeLists.darwin.txt
index dec2734c21..5e21c8ffc3 100644
--- a/library/cpp/actors/wilson/protos/CMakeLists.darwin.txt
+++ b/library/cpp/actors/wilson/protos/CMakeLists.darwin.txt
@@ -6,6 +6,60 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_grpc_cpp_bin
+  TOOL_grpc_cpp_dependency
+  contrib/tools/protoc/plugins/grpc_cpp
+  grpc_cpp
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(actors-wilson-protos)
 set_property(TARGET actors-wilson-protos PROPERTY
diff --git a/library/cpp/actors/wilson/protos/CMakeLists.linux-aarch64.txt b/library/cpp/actors/wilson/protos/CMakeLists.linux-aarch64.txt
index a190ace589..d12c55767a 100644
--- a/library/cpp/actors/wilson/protos/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/actors/wilson/protos/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,60 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_grpc_cpp_bin
+  TOOL_grpc_cpp_dependency
+  contrib/tools/protoc/plugins/grpc_cpp
+  grpc_cpp
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(actors-wilson-protos)
 set_property(TARGET actors-wilson-protos PROPERTY
diff --git a/library/cpp/actors/wilson/protos/CMakeLists.linux.txt b/library/cpp/actors/wilson/protos/CMakeLists.linux.txt
index a190ace589..d12c55767a 100644
--- a/library/cpp/actors/wilson/protos/CMakeLists.linux.txt
+++ b/library/cpp/actors/wilson/protos/CMakeLists.linux.txt
@@ -6,6 +6,60 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_grpc_cpp_bin
+  TOOL_grpc_cpp_dependency
+  contrib/tools/protoc/plugins/grpc_cpp
+  grpc_cpp
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(actors-wilson-protos)
 set_property(TARGET actors-wilson-protos PROPERTY
diff --git a/library/cpp/actors/wilson/protos/CMakeLists.txt b/library/cpp/actors/wilson/protos/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/actors/wilson/protos/CMakeLists.txt
+++ b/library/cpp/actors/wilson/protos/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/archive/CMakeLists.txt b/library/cpp/archive/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/archive/CMakeLists.txt
+++ b/library/cpp/archive/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/balloc/CMakeLists.txt b/library/cpp/balloc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/balloc/CMakeLists.txt
+++ b/library/cpp/balloc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/balloc/lib/CMakeLists.txt b/library/cpp/balloc/lib/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/balloc/lib/CMakeLists.txt
+++ b/library/cpp/balloc/lib/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/balloc/setup/CMakeLists.txt b/library/cpp/balloc/setup/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/balloc/setup/CMakeLists.txt
+++ b/library/cpp/balloc/setup/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/binsaver/CMakeLists.txt b/library/cpp/binsaver/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/binsaver/CMakeLists.txt
+++ b/library/cpp/binsaver/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/bit_io/CMakeLists.txt b/library/cpp/bit_io/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/bit_io/CMakeLists.txt
+++ b/library/cpp/bit_io/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/CMakeLists.txt b/library/cpp/blockcodecs/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/CMakeLists.txt
+++ b/library/cpp/blockcodecs/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/brotli/CMakeLists.txt b/library/cpp/blockcodecs/codecs/brotli/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/brotli/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/brotli/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/bzip/CMakeLists.txt b/library/cpp/blockcodecs/codecs/bzip/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/bzip/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/bzip/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/fastlz/CMakeLists.txt b/library/cpp/blockcodecs/codecs/fastlz/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/fastlz/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/fastlz/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/legacy_zstd06/CMakeLists.txt b/library/cpp/blockcodecs/codecs/legacy_zstd06/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/legacy_zstd06/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/legacy_zstd06/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/lz4/CMakeLists.txt b/library/cpp/blockcodecs/codecs/lz4/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/lz4/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/lz4/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/lzma/CMakeLists.txt b/library/cpp/blockcodecs/codecs/lzma/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/lzma/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/lzma/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/snappy/CMakeLists.txt b/library/cpp/blockcodecs/codecs/snappy/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/snappy/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/snappy/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/zlib/CMakeLists.txt b/library/cpp/blockcodecs/codecs/zlib/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/zlib/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/zlib/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/codecs/zstd/CMakeLists.txt b/library/cpp/blockcodecs/codecs/zstd/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/codecs/zstd/CMakeLists.txt
+++ b/library/cpp/blockcodecs/codecs/zstd/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/blockcodecs/core/CMakeLists.txt b/library/cpp/blockcodecs/core/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/blockcodecs/core/CMakeLists.txt
+++ b/library/cpp/blockcodecs/core/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/bucket_quoter/CMakeLists.txt b/library/cpp/bucket_quoter/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/bucket_quoter/CMakeLists.txt
+++ b/library/cpp/bucket_quoter/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/build_info/CMakeLists.darwin.txt b/library/cpp/build_info/CMakeLists.darwin.txt
index d80c3b7893..a749cac8a0 100644
--- a/library/cpp/build_info/CMakeLists.darwin.txt
+++ b/library/cpp/build_info/CMakeLists.darwin.txt
@@ -7,6 +7,18 @@
 
 
 find_package(Python3 REQUIRED)
+set(
+  KOSHER_SVN_VERSION
+  
+)
+set(
+  SANDBOX_TASK_ID
+  0
+)
+set(
+  BUILD_TYPE
+  RELEASE
+)
 
 add_library(library-cpp-build_info)
 target_include_directories(library-cpp-build_info PUBLIC
@@ -35,22 +47,10 @@ add_custom_command(
   \"${CMAKE_CXX_COMPILER}\"
   \"${CMAKE_CXX_FLAGS}\"
 )
-set(
-  KOSHER_SVN_VERSION
-  
-)
-set(
-  SANDBOX_TASK_ID
-  0
-)
 configure_file(
   ${CMAKE_SOURCE_DIR}/library/cpp/build_info/sandbox.cpp.in
   ${CMAKE_BINARY_DIR}/library/cpp/build_info/sandbox.cpp
 )
-set(
-  BUILD_TYPE
-  RELEASE
-)
 configure_file(
   ${CMAKE_SOURCE_DIR}/library/cpp/build_info/build_info.cpp.in
   ${CMAKE_BINARY_DIR}/library/cpp/build_info/build_info.cpp
diff --git a/library/cpp/build_info/CMakeLists.linux-aarch64.txt b/library/cpp/build_info/CMakeLists.linux-aarch64.txt
index b839d5515e..7067bdf107 100644
--- a/library/cpp/build_info/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/build_info/CMakeLists.linux-aarch64.txt
@@ -7,6 +7,18 @@
 
 
 find_package(Python3 REQUIRED)
+set(
+  KOSHER_SVN_VERSION
+  
+)
+set(
+  SANDBOX_TASK_ID
+  0
+)
+set(
+  BUILD_TYPE
+  RELEASE
+)
 
 add_library(library-cpp-build_info)
 target_include_directories(library-cpp-build_info PUBLIC
@@ -36,22 +48,10 @@ add_custom_command(
   \"${CMAKE_CXX_COMPILER}\"
   \"${CMAKE_CXX_FLAGS}\"
 )
-set(
-  KOSHER_SVN_VERSION
-  
-)
-set(
-  SANDBOX_TASK_ID
-  0
-)
 configure_file(
   ${CMAKE_SOURCE_DIR}/library/cpp/build_info/sandbox.cpp.in
   ${CMAKE_BINARY_DIR}/library/cpp/build_info/sandbox.cpp
 )
-set(
-  BUILD_TYPE
-  RELEASE
-)
 configure_file(
   ${CMAKE_SOURCE_DIR}/library/cpp/build_info/build_info.cpp.in
   ${CMAKE_BINARY_DIR}/library/cpp/build_info/build_info.cpp
diff --git a/library/cpp/build_info/CMakeLists.linux.txt b/library/cpp/build_info/CMakeLists.linux.txt
index b839d5515e..7067bdf107 100644
--- a/library/cpp/build_info/CMakeLists.linux.txt
+++ b/library/cpp/build_info/CMakeLists.linux.txt
@@ -7,6 +7,18 @@
 
 
 find_package(Python3 REQUIRED)
+set(
+  KOSHER_SVN_VERSION
+  
+)
+set(
+  SANDBOX_TASK_ID
+  0
+)
+set(
+  BUILD_TYPE
+  RELEASE
+)
 
 add_library(library-cpp-build_info)
 target_include_directories(library-cpp-build_info PUBLIC
@@ -36,22 +48,10 @@ add_custom_command(
   \"${CMAKE_CXX_COMPILER}\"
   \"${CMAKE_CXX_FLAGS}\"
 )
-set(
-  KOSHER_SVN_VERSION
-  
-)
-set(
-  SANDBOX_TASK_ID
-  0
-)
 configure_file(
   ${CMAKE_SOURCE_DIR}/library/cpp/build_info/sandbox.cpp.in
   ${CMAKE_BINARY_DIR}/library/cpp/build_info/sandbox.cpp
 )
-set(
-  BUILD_TYPE
-  RELEASE
-)
 configure_file(
   ${CMAKE_SOURCE_DIR}/library/cpp/build_info/build_info.cpp.in
   ${CMAKE_BINARY_DIR}/library/cpp/build_info/build_info.cpp
diff --git a/library/cpp/build_info/CMakeLists.txt b/library/cpp/build_info/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/build_info/CMakeLists.txt
+++ b/library/cpp/build_info/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/cache/CMakeLists.txt b/library/cpp/cache/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/cache/CMakeLists.txt
+++ b/library/cpp/cache/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/case_insensitive_string/CMakeLists.txt b/library/cpp/case_insensitive_string/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/case_insensitive_string/CMakeLists.txt
+++ b/library/cpp/case_insensitive_string/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/cgiparam/CMakeLists.txt b/library/cpp/cgiparam/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/cgiparam/CMakeLists.txt
+++ b/library/cpp/cgiparam/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/charset/CMakeLists.txt b/library/cpp/charset/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/charset/CMakeLists.txt
+++ b/library/cpp/charset/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/codecs/CMakeLists.txt b/library/cpp/codecs/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/codecs/CMakeLists.txt
+++ b/library/cpp/codecs/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/codecs/greedy_dict/CMakeLists.txt b/library/cpp/codecs/greedy_dict/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/codecs/greedy_dict/CMakeLists.txt
+++ b/library/cpp/codecs/greedy_dict/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/colorizer/CMakeLists.txt b/library/cpp/colorizer/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/colorizer/CMakeLists.txt
+++ b/library/cpp/colorizer/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/compproto/CMakeLists.txt b/library/cpp/compproto/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/compproto/CMakeLists.txt
+++ b/library/cpp/compproto/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/comptable/CMakeLists.txt b/library/cpp/comptable/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/comptable/CMakeLists.txt
+++ b/library/cpp/comptable/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/config/CMakeLists.darwin.txt b/library/cpp/config/CMakeLists.darwin.txt
index b5e4b4686e..23c772e4fc 100644
--- a/library/cpp/config/CMakeLists.darwin.txt
+++ b/library/cpp/config/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_archiver_bin
+  TOOL_archiver_dependency
+  tools/archiver
+  archiver
+)
 
 add_library(library-cpp-config)
 target_include_directories(library-cpp-config PUBLIC
@@ -32,10 +38,10 @@ add_custom_command(
   OUTPUT
   ${CMAKE_BINARY_DIR}/library/cpp/config/code.inc
   DEPENDS
-  ${TOOLS_ROOT}/tools/archiver/archiver
+  ${TOOL_archiver_bin}
   ${CMAKE_SOURCE_DIR}/library/cpp/config/support/pp.lua
   COMMAND
-  ${TOOLS_ROOT}/tools/archiver/archiver
+  ${TOOL_archiver_bin}
   -q
   -x
   ${CMAKE_SOURCE_DIR}/library/cpp/config/support/pp.lua:
@@ -47,3 +53,8 @@ target_ragel_lexers(library-cpp-config
   ${CMAKE_SOURCE_DIR}/library/cpp/config/markupfsm.h.rl6
   -CG2
 )
+if(NOT CMAKE_CROSSCOMPILING)
+  add_dependencies(library-cpp-config
+    archiver
+)
+endif()
diff --git a/library/cpp/config/CMakeLists.linux-aarch64.txt b/library/cpp/config/CMakeLists.linux-aarch64.txt
index b9f853c8c8..3e91ece220 100644
--- a/library/cpp/config/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/config/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_archiver_bin
+  TOOL_archiver_dependency
+  tools/archiver
+  archiver
+)
 
 add_library(library-cpp-config)
 target_include_directories(library-cpp-config PUBLIC
@@ -33,10 +39,10 @@ add_custom_command(
   OUTPUT
   ${CMAKE_BINARY_DIR}/library/cpp/config/code.inc
   DEPENDS
-  ${TOOLS_ROOT}/tools/archiver/archiver
+  ${TOOL_archiver_bin}
   ${CMAKE_SOURCE_DIR}/library/cpp/config/support/pp.lua
   COMMAND
-  ${TOOLS_ROOT}/tools/archiver/archiver
+  ${TOOL_archiver_bin}
   -q
   -x
   ${CMAKE_SOURCE_DIR}/library/cpp/config/support/pp.lua:
@@ -48,3 +54,8 @@ target_ragel_lexers(library-cpp-config
   ${CMAKE_SOURCE_DIR}/library/cpp/config/markupfsm.h.rl6
   -CG2
 )
+if(NOT CMAKE_CROSSCOMPILING)
+  add_dependencies(library-cpp-config
+    archiver
+)
+endif()
diff --git a/library/cpp/config/CMakeLists.linux.txt b/library/cpp/config/CMakeLists.linux.txt
index b9f853c8c8..3e91ece220 100644
--- a/library/cpp/config/CMakeLists.linux.txt
+++ b/library/cpp/config/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_archiver_bin
+  TOOL_archiver_dependency
+  tools/archiver
+  archiver
+)
 
 add_library(library-cpp-config)
 target_include_directories(library-cpp-config PUBLIC
@@ -33,10 +39,10 @@ add_custom_command(
   OUTPUT
   ${CMAKE_BINARY_DIR}/library/cpp/config/code.inc
   DEPENDS
-  ${TOOLS_ROOT}/tools/archiver/archiver
+  ${TOOL_archiver_bin}
   ${CMAKE_SOURCE_DIR}/library/cpp/config/support/pp.lua
   COMMAND
-  ${TOOLS_ROOT}/tools/archiver/archiver
+  ${TOOL_archiver_bin}
   -q
   -x
   ${CMAKE_SOURCE_DIR}/library/cpp/config/support/pp.lua:
@@ -48,3 +54,8 @@ target_ragel_lexers(library-cpp-config
   ${CMAKE_SOURCE_DIR}/library/cpp/config/markupfsm.h.rl6
   -CG2
 )
+if(NOT CMAKE_CROSSCOMPILING)
+  add_dependencies(library-cpp-config
+    archiver
+)
+endif()
diff --git a/library/cpp/config/CMakeLists.txt b/library/cpp/config/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/config/CMakeLists.txt
+++ b/library/cpp/config/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/2d_array/CMakeLists.txt b/library/cpp/containers/2d_array/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/2d_array/CMakeLists.txt
+++ b/library/cpp/containers/2d_array/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/absl_flat_hash/CMakeLists.txt b/library/cpp/containers/absl_flat_hash/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/absl_flat_hash/CMakeLists.txt
+++ b/library/cpp/containers/absl_flat_hash/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/atomizer/CMakeLists.txt b/library/cpp/containers/atomizer/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/atomizer/CMakeLists.txt
+++ b/library/cpp/containers/atomizer/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/bitseq/CMakeLists.txt b/library/cpp/containers/bitseq/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/bitseq/CMakeLists.txt
+++ b/library/cpp/containers/bitseq/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/compact_vector/CMakeLists.txt b/library/cpp/containers/compact_vector/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/compact_vector/CMakeLists.txt
+++ b/library/cpp/containers/compact_vector/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/comptrie/CMakeLists.txt b/library/cpp/containers/comptrie/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/comptrie/CMakeLists.txt
+++ b/library/cpp/containers/comptrie/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/disjoint_interval_tree/CMakeLists.txt b/library/cpp/containers/disjoint_interval_tree/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/disjoint_interval_tree/CMakeLists.txt
+++ b/library/cpp/containers/disjoint_interval_tree/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/flat_hash/CMakeLists.txt b/library/cpp/containers/flat_hash/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/flat_hash/CMakeLists.txt
+++ b/library/cpp/containers/flat_hash/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/intrusive_avl_tree/CMakeLists.txt b/library/cpp/containers/intrusive_avl_tree/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/intrusive_avl_tree/CMakeLists.txt
+++ b/library/cpp/containers/intrusive_avl_tree/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/intrusive_rb_tree/CMakeLists.txt b/library/cpp/containers/intrusive_rb_tree/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/intrusive_rb_tree/CMakeLists.txt
+++ b/library/cpp/containers/intrusive_rb_tree/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/paged_vector/CMakeLists.txt b/library/cpp/containers/paged_vector/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/paged_vector/CMakeLists.txt
+++ b/library/cpp/containers/paged_vector/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/ring_buffer/CMakeLists.txt b/library/cpp/containers/ring_buffer/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/ring_buffer/CMakeLists.txt
+++ b/library/cpp/containers/ring_buffer/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/sorted_vector/CMakeLists.txt b/library/cpp/containers/sorted_vector/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/sorted_vector/CMakeLists.txt
+++ b/library/cpp/containers/sorted_vector/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/stack_array/CMakeLists.txt b/library/cpp/containers/stack_array/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/stack_array/CMakeLists.txt
+++ b/library/cpp/containers/stack_array/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/stack_vector/CMakeLists.txt b/library/cpp/containers/stack_vector/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/stack_vector/CMakeLists.txt
+++ b/library/cpp/containers/stack_vector/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/str_map/CMakeLists.txt b/library/cpp/containers/str_map/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/str_map/CMakeLists.txt
+++ b/library/cpp/containers/str_map/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/containers/top_keeper/CMakeLists.txt b/library/cpp/containers/top_keeper/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/containers/top_keeper/CMakeLists.txt
+++ b/library/cpp/containers/top_keeper/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/coroutine/engine/CMakeLists.darwin.txt b/library/cpp/coroutine/engine/CMakeLists.darwin.txt
index be1a41d15f..d709a1e943 100644
--- a/library/cpp/coroutine/engine/CMakeLists.darwin.txt
+++ b/library/cpp/coroutine/engine/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-coroutine-engine)
 target_link_libraries(cpp-coroutine-engine PUBLIC
diff --git a/library/cpp/coroutine/engine/CMakeLists.linux-aarch64.txt b/library/cpp/coroutine/engine/CMakeLists.linux-aarch64.txt
index 7b3580b27f..b2912afd4c 100644
--- a/library/cpp/coroutine/engine/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/coroutine/engine/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-coroutine-engine)
 target_link_libraries(cpp-coroutine-engine PUBLIC
diff --git a/library/cpp/coroutine/engine/CMakeLists.linux.txt b/library/cpp/coroutine/engine/CMakeLists.linux.txt
index 7b3580b27f..b2912afd4c 100644
--- a/library/cpp/coroutine/engine/CMakeLists.linux.txt
+++ b/library/cpp/coroutine/engine/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-coroutine-engine)
 target_link_libraries(cpp-coroutine-engine PUBLIC
diff --git a/library/cpp/coroutine/engine/CMakeLists.txt b/library/cpp/coroutine/engine/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/coroutine/engine/CMakeLists.txt
+++ b/library/cpp/coroutine/engine/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/coroutine/listener/CMakeLists.txt b/library/cpp/coroutine/listener/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/coroutine/listener/CMakeLists.txt
+++ b/library/cpp/coroutine/listener/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/cppparser/CMakeLists.txt b/library/cpp/cppparser/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/cppparser/CMakeLists.txt
+++ b/library/cpp/cppparser/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/cpuid_check/CMakeLists.txt b/library/cpp/cpuid_check/CMakeLists.txt
index 76a075775f..0f8cf0fb16 100644
--- a/library/cpp/cpuid_check/CMakeLists.txt
+++ b/library/cpp/cpuid_check/CMakeLists.txt
@@ -8,6 +8,6 @@
 
 if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/dbg_output/CMakeLists.txt b/library/cpp/dbg_output/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/dbg_output/CMakeLists.txt
+++ b/library/cpp/dbg_output/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/deprecated/accessors/CMakeLists.txt b/library/cpp/deprecated/accessors/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/deprecated/accessors/CMakeLists.txt
+++ b/library/cpp/deprecated/accessors/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/deprecated/atomic/CMakeLists.txt b/library/cpp/deprecated/atomic/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/deprecated/atomic/CMakeLists.txt
+++ b/library/cpp/deprecated/atomic/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/deprecated/enum_codegen/CMakeLists.txt b/library/cpp/deprecated/enum_codegen/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/deprecated/enum_codegen/CMakeLists.txt
+++ b/library/cpp/deprecated/enum_codegen/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/deprecated/kmp/CMakeLists.txt b/library/cpp/deprecated/kmp/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/deprecated/kmp/CMakeLists.txt
+++ b/library/cpp/deprecated/kmp/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/deprecated/split/CMakeLists.txt b/library/cpp/deprecated/split/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/deprecated/split/CMakeLists.txt
+++ b/library/cpp/deprecated/split/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/diff/CMakeLists.txt b/library/cpp/diff/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/diff/CMakeLists.txt
+++ b/library/cpp/diff/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/CMakeLists.txt b/library/cpp/digest/argonish/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/CMakeLists.txt
+++ b/library/cpp/digest/argonish/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/argon2/CMakeLists.txt b/library/cpp/digest/argonish/internal/argon2/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/internal/argon2/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/argon2/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/blake2b/CMakeLists.txt b/library/cpp/digest/argonish/internal/blake2b/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/internal/blake2b/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/blake2b/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/blamka/CMakeLists.txt b/library/cpp/digest/argonish/internal/blamka/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/internal/blamka/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/blamka/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/proxies/CMakeLists.txt b/library/cpp/digest/argonish/internal/proxies/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/internal/proxies/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/proxies/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/proxies/avx2/CMakeLists.txt b/library/cpp/digest/argonish/internal/proxies/avx2/CMakeLists.txt
index 76a075775f..0f8cf0fb16 100644
--- a/library/cpp/digest/argonish/internal/proxies/avx2/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/proxies/avx2/CMakeLists.txt
@@ -8,6 +8,6 @@
 
 if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/proxies/macro/CMakeLists.txt b/library/cpp/digest/argonish/internal/proxies/macro/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/internal/proxies/macro/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/proxies/macro/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/proxies/ref/CMakeLists.txt b/library/cpp/digest/argonish/internal/proxies/ref/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/internal/proxies/ref/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/proxies/ref/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/proxies/sse2/CMakeLists.txt b/library/cpp/digest/argonish/internal/proxies/sse2/CMakeLists.txt
index 76a075775f..0f8cf0fb16 100644
--- a/library/cpp/digest/argonish/internal/proxies/sse2/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/proxies/sse2/CMakeLists.txt
@@ -8,6 +8,6 @@
 
 if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/proxies/sse41/CMakeLists.txt b/library/cpp/digest/argonish/internal/proxies/sse41/CMakeLists.txt
index 76a075775f..0f8cf0fb16 100644
--- a/library/cpp/digest/argonish/internal/proxies/sse41/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/proxies/sse41/CMakeLists.txt
@@ -8,6 +8,6 @@
 
 if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/proxies/ssse3/CMakeLists.txt b/library/cpp/digest/argonish/internal/proxies/ssse3/CMakeLists.txt
index 76a075775f..0f8cf0fb16 100644
--- a/library/cpp/digest/argonish/internal/proxies/ssse3/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/proxies/ssse3/CMakeLists.txt
@@ -8,6 +8,6 @@
 
 if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/argonish/internal/rotations/CMakeLists.txt b/library/cpp/digest/argonish/internal/rotations/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/argonish/internal/rotations/CMakeLists.txt
+++ b/library/cpp/digest/argonish/internal/rotations/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/crc32c/CMakeLists.txt b/library/cpp/digest/crc32c/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/crc32c/CMakeLists.txt
+++ b/library/cpp/digest/crc32c/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/lower_case/CMakeLists.txt b/library/cpp/digest/lower_case/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/lower_case/CMakeLists.txt
+++ b/library/cpp/digest/lower_case/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/md5/CMakeLists.txt b/library/cpp/digest/md5/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/md5/CMakeLists.txt
+++ b/library/cpp/digest/md5/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/murmur/CMakeLists.txt b/library/cpp/digest/murmur/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/murmur/CMakeLists.txt
+++ b/library/cpp/digest/murmur/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/old_crc/CMakeLists.darwin.txt b/library/cpp/digest/old_crc/CMakeLists.darwin.txt
index 247ca3494b..a4caa8c756 100644
--- a/library/cpp/digest/old_crc/CMakeLists.darwin.txt
+++ b/library/cpp/digest/old_crc/CMakeLists.darwin.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(gencrc)
+get_built_tool_path(
+  TOOL_gencrc_bin
+  TOOL_gencrc_dependency
+  library/cpp/digest/old_crc/gencrc
+  gencrc
+)
 
 add_library(cpp-digest-old_crc)
 target_link_libraries(cpp-digest-old_crc PUBLIC
@@ -21,9 +27,14 @@ add_custom_command(
   OUTPUT
   ${CMAKE_BINARY_DIR}/library/cpp/digest/old_crc/crc.inc
   DEPENDS
-  ${TOOLS_ROOT}/library/cpp/digest/old_crc/gencrc/gencrc
+  ${TOOL_gencrc_bin}
   COMMAND
-  ${TOOLS_ROOT}/library/cpp/digest/old_crc/gencrc/gencrc
+  ${TOOL_gencrc_bin}
   >
   crc.inc
 )
+if(NOT CMAKE_CROSSCOMPILING)
+  add_dependencies(cpp-digest-old_crc
+    gencrc
+)
+endif()
diff --git a/library/cpp/digest/old_crc/CMakeLists.linux-aarch64.txt b/library/cpp/digest/old_crc/CMakeLists.linux-aarch64.txt
index 9c1091a218..a0883b65f5 100644
--- a/library/cpp/digest/old_crc/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/digest/old_crc/CMakeLists.linux-aarch64.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(gencrc)
+get_built_tool_path(
+  TOOL_gencrc_bin
+  TOOL_gencrc_dependency
+  library/cpp/digest/old_crc/gencrc
+  gencrc
+)
 
 add_library(cpp-digest-old_crc)
 target_link_libraries(cpp-digest-old_crc PUBLIC
@@ -22,9 +28,14 @@ add_custom_command(
   OUTPUT
   ${CMAKE_BINARY_DIR}/library/cpp/digest/old_crc/crc.inc
   DEPENDS
-  ${TOOLS_ROOT}/library/cpp/digest/old_crc/gencrc/gencrc
+  ${TOOL_gencrc_bin}
   COMMAND
-  ${TOOLS_ROOT}/library/cpp/digest/old_crc/gencrc/gencrc
+  ${TOOL_gencrc_bin}
   >
   crc.inc
 )
+if(NOT CMAKE_CROSSCOMPILING)
+  add_dependencies(cpp-digest-old_crc
+    gencrc
+)
+endif()
diff --git a/library/cpp/digest/old_crc/CMakeLists.linux.txt b/library/cpp/digest/old_crc/CMakeLists.linux.txt
index 9c1091a218..a0883b65f5 100644
--- a/library/cpp/digest/old_crc/CMakeLists.linux.txt
+++ b/library/cpp/digest/old_crc/CMakeLists.linux.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(gencrc)
+get_built_tool_path(
+  TOOL_gencrc_bin
+  TOOL_gencrc_dependency
+  library/cpp/digest/old_crc/gencrc
+  gencrc
+)
 
 add_library(cpp-digest-old_crc)
 target_link_libraries(cpp-digest-old_crc PUBLIC
@@ -22,9 +28,14 @@ add_custom_command(
   OUTPUT
   ${CMAKE_BINARY_DIR}/library/cpp/digest/old_crc/crc.inc
   DEPENDS
-  ${TOOLS_ROOT}/library/cpp/digest/old_crc/gencrc/gencrc
+  ${TOOL_gencrc_bin}
   COMMAND
-  ${TOOLS_ROOT}/library/cpp/digest/old_crc/gencrc/gencrc
+  ${TOOL_gencrc_bin}
   >
   crc.inc
 )
+if(NOT CMAKE_CROSSCOMPILING)
+  add_dependencies(cpp-digest-old_crc
+    gencrc
+)
+endif()
diff --git a/library/cpp/digest/old_crc/CMakeLists.txt b/library/cpp/digest/old_crc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/old_crc/CMakeLists.txt
+++ b/library/cpp/digest/old_crc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/old_crc/gencrc/CMakeLists.txt b/library/cpp/digest/old_crc/gencrc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/old_crc/gencrc/CMakeLists.txt
+++ b/library/cpp/digest/old_crc/gencrc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/digest/sfh/CMakeLists.txt b/library/cpp/digest/sfh/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/digest/sfh/CMakeLists.txt
+++ b/library/cpp/digest/sfh/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/dns/CMakeLists.txt b/library/cpp/dns/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/dns/CMakeLists.txt
+++ b/library/cpp/dns/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/enumbitset/CMakeLists.txt b/library/cpp/enumbitset/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/enumbitset/CMakeLists.txt
+++ b/library/cpp/enumbitset/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/execprofile/CMakeLists.txt b/library/cpp/execprofile/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/execprofile/CMakeLists.txt
+++ b/library/cpp/execprofile/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/getopt/CMakeLists.txt b/library/cpp/getopt/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/getopt/CMakeLists.txt
+++ b/library/cpp/getopt/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/getopt/small/CMakeLists.txt b/library/cpp/getopt/small/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/getopt/small/CMakeLists.txt
+++ b/library/cpp/getopt/small/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/grpc/client/CMakeLists.txt b/library/cpp/grpc/client/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/grpc/client/CMakeLists.txt
+++ b/library/cpp/grpc/client/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/grpc/server/CMakeLists.darwin.txt b/library/cpp/grpc/server/CMakeLists.darwin.txt
index b1c65b786c..1db6667068 100644
--- a/library/cpp/grpc/server/CMakeLists.darwin.txt
+++ b/library/cpp/grpc/server/CMakeLists.darwin.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(actors)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-grpc-server)
 target_link_libraries(cpp-grpc-server PUBLIC
diff --git a/library/cpp/grpc/server/CMakeLists.linux-aarch64.txt b/library/cpp/grpc/server/CMakeLists.linux-aarch64.txt
index 4d5d77c1bf..afeac13dc1 100644
--- a/library/cpp/grpc/server/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/grpc/server/CMakeLists.linux-aarch64.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(actors)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-grpc-server)
 target_link_libraries(cpp-grpc-server PUBLIC
diff --git a/library/cpp/grpc/server/CMakeLists.linux.txt b/library/cpp/grpc/server/CMakeLists.linux.txt
index 4d5d77c1bf..afeac13dc1 100644
--- a/library/cpp/grpc/server/CMakeLists.linux.txt
+++ b/library/cpp/grpc/server/CMakeLists.linux.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(actors)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-grpc-server)
 target_link_libraries(cpp-grpc-server PUBLIC
diff --git a/library/cpp/grpc/server/CMakeLists.txt b/library/cpp/grpc/server/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/grpc/server/CMakeLists.txt
+++ b/library/cpp/grpc/server/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/grpc/server/actors/CMakeLists.txt b/library/cpp/grpc/server/actors/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/grpc/server/actors/CMakeLists.txt
+++ b/library/cpp/grpc/server/actors/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/histogram/adaptive/CMakeLists.txt b/library/cpp/histogram/adaptive/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/histogram/adaptive/CMakeLists.txt
+++ b/library/cpp/histogram/adaptive/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/histogram/adaptive/protos/CMakeLists.darwin.txt b/library/cpp/histogram/adaptive/protos/CMakeLists.darwin.txt
index c1c5db3e56..ff0b6ce0f9 100644
--- a/library/cpp/histogram/adaptive/protos/CMakeLists.darwin.txt
+++ b/library/cpp/histogram/adaptive/protos/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(histogram-adaptive-protos)
 target_link_libraries(histogram-adaptive-protos PUBLIC
diff --git a/library/cpp/histogram/adaptive/protos/CMakeLists.linux-aarch64.txt b/library/cpp/histogram/adaptive/protos/CMakeLists.linux-aarch64.txt
index 51025bd7f5..c2746fae77 100644
--- a/library/cpp/histogram/adaptive/protos/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/histogram/adaptive/protos/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(histogram-adaptive-protos)
 target_link_libraries(histogram-adaptive-protos PUBLIC
diff --git a/library/cpp/histogram/adaptive/protos/CMakeLists.linux.txt b/library/cpp/histogram/adaptive/protos/CMakeLists.linux.txt
index 51025bd7f5..c2746fae77 100644
--- a/library/cpp/histogram/adaptive/protos/CMakeLists.linux.txt
+++ b/library/cpp/histogram/adaptive/protos/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(histogram-adaptive-protos)
 target_link_libraries(histogram-adaptive-protos PUBLIC
diff --git a/library/cpp/histogram/adaptive/protos/CMakeLists.txt b/library/cpp/histogram/adaptive/protos/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/histogram/adaptive/protos/CMakeLists.txt
+++ b/library/cpp/histogram/adaptive/protos/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/histogram/hdr/CMakeLists.txt b/library/cpp/histogram/hdr/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/histogram/hdr/CMakeLists.txt
+++ b/library/cpp/histogram/hdr/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/html/escape/CMakeLists.txt b/library/cpp/html/escape/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/html/escape/CMakeLists.txt
+++ b/library/cpp/html/escape/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/html/pcdata/CMakeLists.txt b/library/cpp/html/pcdata/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/html/pcdata/CMakeLists.txt
+++ b/library/cpp/html/pcdata/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/http/fetch/CMakeLists.darwin.txt b/library/cpp/http/fetch/CMakeLists.darwin.txt
index c9af1a0150..b507fb8c2e 100644
--- a/library/cpp/http/fetch/CMakeLists.darwin.txt
+++ b/library/cpp/http/fetch/CMakeLists.darwin.txt
@@ -7,6 +7,12 @@
 
 
 find_package(ZLIB REQUIRED)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-http-fetch)
 target_link_libraries(cpp-http-fetch PUBLIC
diff --git a/library/cpp/http/fetch/CMakeLists.linux-aarch64.txt b/library/cpp/http/fetch/CMakeLists.linux-aarch64.txt
index 8b2f6632b8..432831775a 100644
--- a/library/cpp/http/fetch/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/http/fetch/CMakeLists.linux-aarch64.txt
@@ -7,6 +7,12 @@
 
 
 find_package(ZLIB REQUIRED)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-http-fetch)
 target_link_libraries(cpp-http-fetch PUBLIC
diff --git a/library/cpp/http/fetch/CMakeLists.linux.txt b/library/cpp/http/fetch/CMakeLists.linux.txt
index 8b2f6632b8..432831775a 100644
--- a/library/cpp/http/fetch/CMakeLists.linux.txt
+++ b/library/cpp/http/fetch/CMakeLists.linux.txt
@@ -7,6 +7,12 @@
 
 
 find_package(ZLIB REQUIRED)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-http-fetch)
 target_link_libraries(cpp-http-fetch PUBLIC
diff --git a/library/cpp/http/fetch/CMakeLists.txt b/library/cpp/http/fetch/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/http/fetch/CMakeLists.txt
+++ b/library/cpp/http/fetch/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/http/io/CMakeLists.txt b/library/cpp/http/io/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/http/io/CMakeLists.txt
+++ b/library/cpp/http/io/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/http/misc/CMakeLists.darwin.txt b/library/cpp/http/misc/CMakeLists.darwin.txt
index e60ca0d16a..c909854a9a 100644
--- a/library/cpp/http/misc/CMakeLists.darwin.txt
+++ b/library/cpp/http/misc/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-http-misc)
 target_link_libraries(cpp-http-misc PUBLIC
diff --git a/library/cpp/http/misc/CMakeLists.linux-aarch64.txt b/library/cpp/http/misc/CMakeLists.linux-aarch64.txt
index a4c93f6693..026af90992 100644
--- a/library/cpp/http/misc/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/http/misc/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-http-misc)
 target_link_libraries(cpp-http-misc PUBLIC
diff --git a/library/cpp/http/misc/CMakeLists.linux.txt b/library/cpp/http/misc/CMakeLists.linux.txt
index a4c93f6693..026af90992 100644
--- a/library/cpp/http/misc/CMakeLists.linux.txt
+++ b/library/cpp/http/misc/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-http-misc)
 target_link_libraries(cpp-http-misc PUBLIC
diff --git a/library/cpp/http/misc/CMakeLists.txt b/library/cpp/http/misc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/http/misc/CMakeLists.txt
+++ b/library/cpp/http/misc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/http/server/CMakeLists.txt b/library/cpp/http/server/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/http/server/CMakeLists.txt
+++ b/library/cpp/http/server/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/http/simple/CMakeLists.txt b/library/cpp/http/simple/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/http/simple/CMakeLists.txt
+++ b/library/cpp/http/simple/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/hyperloglog/CMakeLists.txt b/library/cpp/hyperloglog/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/hyperloglog/CMakeLists.txt
+++ b/library/cpp/hyperloglog/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/int128/CMakeLists.txt b/library/cpp/int128/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/int128/CMakeLists.txt
+++ b/library/cpp/int128/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/ipmath/CMakeLists.txt b/library/cpp/ipmath/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/ipmath/CMakeLists.txt
+++ b/library/cpp/ipmath/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/ipv6_address/CMakeLists.txt b/library/cpp/ipv6_address/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/ipv6_address/CMakeLists.txt
+++ b/library/cpp/ipv6_address/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/iterator/CMakeLists.txt b/library/cpp/iterator/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/iterator/CMakeLists.txt
+++ b/library/cpp/iterator/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/json/CMakeLists.txt b/library/cpp/json/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/json/CMakeLists.txt
+++ b/library/cpp/json/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/json/common/CMakeLists.txt b/library/cpp/json/common/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/json/common/CMakeLists.txt
+++ b/library/cpp/json/common/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/json/easy_parse/CMakeLists.txt b/library/cpp/json/easy_parse/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/json/easy_parse/CMakeLists.txt
+++ b/library/cpp/json/easy_parse/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/json/fast_sax/CMakeLists.txt b/library/cpp/json/fast_sax/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/json/fast_sax/CMakeLists.txt
+++ b/library/cpp/json/fast_sax/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/json/writer/CMakeLists.darwin.txt b/library/cpp/json/writer/CMakeLists.darwin.txt
index 71c8643720..e164da14c0 100644
--- a/library/cpp/json/writer/CMakeLists.darwin.txt
+++ b/library/cpp/json/writer/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-json-writer)
 target_link_libraries(cpp-json-writer PUBLIC
diff --git a/library/cpp/json/writer/CMakeLists.linux-aarch64.txt b/library/cpp/json/writer/CMakeLists.linux-aarch64.txt
index 7ae78ebf12..7793777f86 100644
--- a/library/cpp/json/writer/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/json/writer/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-json-writer)
 target_link_libraries(cpp-json-writer PUBLIC
diff --git a/library/cpp/json/writer/CMakeLists.linux.txt b/library/cpp/json/writer/CMakeLists.linux.txt
index 7ae78ebf12..7793777f86 100644
--- a/library/cpp/json/writer/CMakeLists.linux.txt
+++ b/library/cpp/json/writer/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-json-writer)
 target_link_libraries(cpp-json-writer PUBLIC
diff --git a/library/cpp/json/writer/CMakeLists.txt b/library/cpp/json/writer/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/json/writer/CMakeLists.txt
+++ b/library/cpp/json/writer/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/json/yson/CMakeLists.txt b/library/cpp/json/yson/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/json/yson/CMakeLists.txt
+++ b/library/cpp/json/yson/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lcs/CMakeLists.txt b/library/cpp/lcs/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lcs/CMakeLists.txt
+++ b/library/cpp/lcs/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lfalloc/CMakeLists.txt b/library/cpp/lfalloc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lfalloc/CMakeLists.txt
+++ b/library/cpp/lfalloc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lfalloc/alloc_profiler/CMakeLists.txt b/library/cpp/lfalloc/alloc_profiler/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lfalloc/alloc_profiler/CMakeLists.txt
+++ b/library/cpp/lfalloc/alloc_profiler/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lfalloc/dbg_info/CMakeLists.txt b/library/cpp/lfalloc/dbg_info/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lfalloc/dbg_info/CMakeLists.txt
+++ b/library/cpp/lfalloc/dbg_info/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/linear_regression/CMakeLists.txt b/library/cpp/linear_regression/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/linear_regression/CMakeLists.txt
+++ b/library/cpp/linear_regression/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/logger/CMakeLists.darwin.txt b/library/cpp/logger/CMakeLists.darwin.txt
index f73c91994e..92cf5b5d93 100644
--- a/library/cpp/logger/CMakeLists.darwin.txt
+++ b/library/cpp/logger/CMakeLists.darwin.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(global)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-logger)
 target_link_libraries(library-cpp-logger PUBLIC
diff --git a/library/cpp/logger/CMakeLists.linux-aarch64.txt b/library/cpp/logger/CMakeLists.linux-aarch64.txt
index 35a66da4f6..7656dd6861 100644
--- a/library/cpp/logger/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/logger/CMakeLists.linux-aarch64.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(global)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-logger)
 target_link_libraries(library-cpp-logger PUBLIC
diff --git a/library/cpp/logger/CMakeLists.linux.txt b/library/cpp/logger/CMakeLists.linux.txt
index 35a66da4f6..7656dd6861 100644
--- a/library/cpp/logger/CMakeLists.linux.txt
+++ b/library/cpp/logger/CMakeLists.linux.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(global)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-logger)
 target_link_libraries(library-cpp-logger PUBLIC
diff --git a/library/cpp/logger/CMakeLists.txt b/library/cpp/logger/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/logger/CMakeLists.txt
+++ b/library/cpp/logger/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/logger/global/CMakeLists.txt b/library/cpp/logger/global/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/logger/global/CMakeLists.txt
+++ b/library/cpp/logger/global/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lua/CMakeLists.txt b/library/cpp/lua/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lua/CMakeLists.txt
+++ b/library/cpp/lua/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lwtrace/CMakeLists.txt b/library/cpp/lwtrace/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lwtrace/CMakeLists.txt
+++ b/library/cpp/lwtrace/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lwtrace/mon/CMakeLists.darwin.txt b/library/cpp/lwtrace/mon/CMakeLists.darwin.txt
index b3c0ec1739..84ce12f208 100644
--- a/library/cpp/lwtrace/mon/CMakeLists.darwin.txt
+++ b/library/cpp/lwtrace/mon/CMakeLists.darwin.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(analytics)
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(cpp-lwtrace-mon)
 target_link_libraries(cpp-lwtrace-mon PUBLIC
diff --git a/library/cpp/lwtrace/mon/CMakeLists.linux-aarch64.txt b/library/cpp/lwtrace/mon/CMakeLists.linux-aarch64.txt
index 728fe5d0fd..7f31cfc6fe 100644
--- a/library/cpp/lwtrace/mon/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/lwtrace/mon/CMakeLists.linux-aarch64.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(analytics)
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(cpp-lwtrace-mon)
 target_link_libraries(cpp-lwtrace-mon PUBLIC
diff --git a/library/cpp/lwtrace/mon/CMakeLists.linux.txt b/library/cpp/lwtrace/mon/CMakeLists.linux.txt
index 728fe5d0fd..7f31cfc6fe 100644
--- a/library/cpp/lwtrace/mon/CMakeLists.linux.txt
+++ b/library/cpp/lwtrace/mon/CMakeLists.linux.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(analytics)
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(cpp-lwtrace-mon)
 target_link_libraries(cpp-lwtrace-mon PUBLIC
diff --git a/library/cpp/lwtrace/mon/CMakeLists.txt b/library/cpp/lwtrace/mon/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lwtrace/mon/CMakeLists.txt
+++ b/library/cpp/lwtrace/mon/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lwtrace/mon/analytics/CMakeLists.txt b/library/cpp/lwtrace/mon/analytics/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lwtrace/mon/analytics/CMakeLists.txt
+++ b/library/cpp/lwtrace/mon/analytics/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/lwtrace/protos/CMakeLists.darwin.txt b/library/cpp/lwtrace/protos/CMakeLists.darwin.txt
index 2c5cd291d4..9caa6f58bf 100644
--- a/library/cpp/lwtrace/protos/CMakeLists.darwin.txt
+++ b/library/cpp/lwtrace/protos/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-lwtrace-protos)
 target_link_libraries(cpp-lwtrace-protos PUBLIC
diff --git a/library/cpp/lwtrace/protos/CMakeLists.linux-aarch64.txt b/library/cpp/lwtrace/protos/CMakeLists.linux-aarch64.txt
index 4b985095b2..f9321305c1 100644
--- a/library/cpp/lwtrace/protos/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/lwtrace/protos/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-lwtrace-protos)
 target_link_libraries(cpp-lwtrace-protos PUBLIC
diff --git a/library/cpp/lwtrace/protos/CMakeLists.linux.txt b/library/cpp/lwtrace/protos/CMakeLists.linux.txt
index 4b985095b2..f9321305c1 100644
--- a/library/cpp/lwtrace/protos/CMakeLists.linux.txt
+++ b/library/cpp/lwtrace/protos/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-lwtrace-protos)
 target_link_libraries(cpp-lwtrace-protos PUBLIC
diff --git a/library/cpp/lwtrace/protos/CMakeLists.txt b/library/cpp/lwtrace/protos/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/lwtrace/protos/CMakeLists.txt
+++ b/library/cpp/lwtrace/protos/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/malloc/CMakeLists.txt b/library/cpp/malloc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/malloc/CMakeLists.txt
+++ b/library/cpp/malloc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/malloc/api/CMakeLists.txt b/library/cpp/malloc/api/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/malloc/api/CMakeLists.txt
+++ b/library/cpp/malloc/api/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/malloc/jemalloc/CMakeLists.txt b/library/cpp/malloc/jemalloc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/malloc/jemalloc/CMakeLists.txt
+++ b/library/cpp/malloc/jemalloc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/malloc/tcmalloc/CMakeLists.txt b/library/cpp/malloc/tcmalloc/CMakeLists.txt
index 1f942d5b2f..ba630c0cc4 100644
--- a/library/cpp/malloc/tcmalloc/CMakeLists.txt
+++ b/library/cpp/malloc/tcmalloc/CMakeLists.txt
@@ -8,6 +8,6 @@
 
 if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT ANDROID)
   include(CMakeLists.linux-aarch64.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/CMakeLists.txt b/library/cpp/messagebus/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/CMakeLists.txt
+++ b/library/cpp/messagebus/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/actor/CMakeLists.txt b/library/cpp/messagebus/actor/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/actor/CMakeLists.txt
+++ b/library/cpp/messagebus/actor/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/config/CMakeLists.txt b/library/cpp/messagebus/config/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/config/CMakeLists.txt
+++ b/library/cpp/messagebus/config/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/monitoring/CMakeLists.darwin.txt b/library/cpp/messagebus/monitoring/CMakeLists.darwin.txt
index 8b0e392fbc..0a5f1f8502 100644
--- a/library/cpp/messagebus/monitoring/CMakeLists.darwin.txt
+++ b/library/cpp/messagebus/monitoring/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-messagebus-monitoring)
 target_link_libraries(cpp-messagebus-monitoring PUBLIC
diff --git a/library/cpp/messagebus/monitoring/CMakeLists.linux-aarch64.txt b/library/cpp/messagebus/monitoring/CMakeLists.linux-aarch64.txt
index 38b1aa98a3..d7ac9c9c03 100644
--- a/library/cpp/messagebus/monitoring/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/messagebus/monitoring/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-messagebus-monitoring)
 target_link_libraries(cpp-messagebus-monitoring PUBLIC
diff --git a/library/cpp/messagebus/monitoring/CMakeLists.linux.txt b/library/cpp/messagebus/monitoring/CMakeLists.linux.txt
index 38b1aa98a3..d7ac9c9c03 100644
--- a/library/cpp/messagebus/monitoring/CMakeLists.linux.txt
+++ b/library/cpp/messagebus/monitoring/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-messagebus-monitoring)
 target_link_libraries(cpp-messagebus-monitoring PUBLIC
diff --git a/library/cpp/messagebus/monitoring/CMakeLists.txt b/library/cpp/messagebus/monitoring/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/monitoring/CMakeLists.txt
+++ b/library/cpp/messagebus/monitoring/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/oldmodule/CMakeLists.txt b/library/cpp/messagebus/oldmodule/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/oldmodule/CMakeLists.txt
+++ b/library/cpp/messagebus/oldmodule/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/protobuf/CMakeLists.txt b/library/cpp/messagebus/protobuf/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/protobuf/CMakeLists.txt
+++ b/library/cpp/messagebus/protobuf/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/scheduler/CMakeLists.txt b/library/cpp/messagebus/scheduler/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/scheduler/CMakeLists.txt
+++ b/library/cpp/messagebus/scheduler/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/messagebus/www/CMakeLists.darwin.txt b/library/cpp/messagebus/www/CMakeLists.darwin.txt
index 5a8c62b635..2d41aa3305 100644
--- a/library/cpp/messagebus/www/CMakeLists.darwin.txt
+++ b/library/cpp/messagebus/www/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(cpp-messagebus-www)
 target_link_libraries(cpp-messagebus-www PUBLIC
diff --git a/library/cpp/messagebus/www/CMakeLists.linux-aarch64.txt b/library/cpp/messagebus/www/CMakeLists.linux-aarch64.txt
index 0776cd5561..fdc6d5d131 100644
--- a/library/cpp/messagebus/www/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/messagebus/www/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(cpp-messagebus-www)
 target_link_libraries(cpp-messagebus-www PUBLIC
diff --git a/library/cpp/messagebus/www/CMakeLists.linux.txt b/library/cpp/messagebus/www/CMakeLists.linux.txt
index 0776cd5561..fdc6d5d131 100644
--- a/library/cpp/messagebus/www/CMakeLists.linux.txt
+++ b/library/cpp/messagebus/www/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(cpp-messagebus-www)
 target_link_libraries(cpp-messagebus-www PUBLIC
diff --git a/library/cpp/messagebus/www/CMakeLists.txt b/library/cpp/messagebus/www/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/messagebus/www/CMakeLists.txt
+++ b/library/cpp/messagebus/www/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/mime/types/CMakeLists.darwin.txt b/library/cpp/mime/types/CMakeLists.darwin.txt
index 7336425016..8e4011a982 100644
--- a/library/cpp/mime/types/CMakeLists.darwin.txt
+++ b/library/cpp/mime/types/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-mime-types)
 target_link_libraries(cpp-mime-types PUBLIC
diff --git a/library/cpp/mime/types/CMakeLists.linux-aarch64.txt b/library/cpp/mime/types/CMakeLists.linux-aarch64.txt
index 272fa8d501..85364f7595 100644
--- a/library/cpp/mime/types/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/mime/types/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-mime-types)
 target_link_libraries(cpp-mime-types PUBLIC
diff --git a/library/cpp/mime/types/CMakeLists.linux.txt b/library/cpp/mime/types/CMakeLists.linux.txt
index 272fa8d501..85364f7595 100644
--- a/library/cpp/mime/types/CMakeLists.linux.txt
+++ b/library/cpp/mime/types/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-mime-types)
 target_link_libraries(cpp-mime-types PUBLIC
diff --git a/library/cpp/mime/types/CMakeLists.txt b/library/cpp/mime/types/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/mime/types/CMakeLists.txt
+++ b/library/cpp/mime/types/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/deprecated/json/CMakeLists.txt b/library/cpp/monlib/deprecated/json/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/deprecated/json/CMakeLists.txt
+++ b/library/cpp/monlib/deprecated/json/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/dynamic_counters/CMakeLists.txt b/library/cpp/monlib/dynamic_counters/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/dynamic_counters/CMakeLists.txt
+++ b/library/cpp/monlib/dynamic_counters/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/dynamic_counters/percentile/CMakeLists.txt b/library/cpp/monlib/dynamic_counters/percentile/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/dynamic_counters/percentile/CMakeLists.txt
+++ b/library/cpp/monlib/dynamic_counters/percentile/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/encode/CMakeLists.darwin.txt b/library/cpp/monlib/encode/CMakeLists.darwin.txt
index fec066c72a..a74b6d023d 100644
--- a/library/cpp/monlib/encode/CMakeLists.darwin.txt
+++ b/library/cpp/monlib/encode/CMakeLists.darwin.txt
@@ -12,6 +12,12 @@ add_subdirectory(legacy_protobuf)
 add_subdirectory(prometheus)
 add_subdirectory(spack)
 add_subdirectory(text)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-monlib-encode)
 target_link_libraries(cpp-monlib-encode PUBLIC
diff --git a/library/cpp/monlib/encode/CMakeLists.linux-aarch64.txt b/library/cpp/monlib/encode/CMakeLists.linux-aarch64.txt
index 220c3aa720..6c319f9b68 100644
--- a/library/cpp/monlib/encode/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/monlib/encode/CMakeLists.linux-aarch64.txt
@@ -12,6 +12,12 @@ add_subdirectory(legacy_protobuf)
 add_subdirectory(prometheus)
 add_subdirectory(spack)
 add_subdirectory(text)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-monlib-encode)
 target_link_libraries(cpp-monlib-encode PUBLIC
diff --git a/library/cpp/monlib/encode/CMakeLists.linux.txt b/library/cpp/monlib/encode/CMakeLists.linux.txt
index 220c3aa720..6c319f9b68 100644
--- a/library/cpp/monlib/encode/CMakeLists.linux.txt
+++ b/library/cpp/monlib/encode/CMakeLists.linux.txt
@@ -12,6 +12,12 @@ add_subdirectory(legacy_protobuf)
 add_subdirectory(prometheus)
 add_subdirectory(spack)
 add_subdirectory(text)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-monlib-encode)
 target_link_libraries(cpp-monlib-encode PUBLIC
diff --git a/library/cpp/monlib/encode/CMakeLists.txt b/library/cpp/monlib/encode/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/encode/CMakeLists.txt
+++ b/library/cpp/monlib/encode/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/encode/buffered/CMakeLists.txt b/library/cpp/monlib/encode/buffered/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/encode/buffered/CMakeLists.txt
+++ b/library/cpp/monlib/encode/buffered/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/encode/json/CMakeLists.txt b/library/cpp/monlib/encode/json/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/encode/json/CMakeLists.txt
+++ b/library/cpp/monlib/encode/json/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.darwin.txt b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.darwin.txt
index 9a9caca01c..bce491e67e 100644
--- a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.darwin.txt
+++ b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(encode-legacy_protobuf-protos)
 target_link_libraries(encode-legacy_protobuf-protos PUBLIC
diff --git a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux-aarch64.txt b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux-aarch64.txt
index 9f42c554e6..a86da32e11 100644
--- a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(encode-legacy_protobuf-protos)
 target_link_libraries(encode-legacy_protobuf-protos PUBLIC
diff --git a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux.txt b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux.txt
index 9f42c554e6..a86da32e11 100644
--- a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux.txt
+++ b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(encode-legacy_protobuf-protos)
 target_link_libraries(encode-legacy_protobuf-protos PUBLIC
diff --git a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.txt b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.txt
+++ b/library/cpp/monlib/encode/legacy_protobuf/protos/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/encode/prometheus/CMakeLists.txt b/library/cpp/monlib/encode/prometheus/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/encode/prometheus/CMakeLists.txt
+++ b/library/cpp/monlib/encode/prometheus/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/encode/spack/CMakeLists.txt b/library/cpp/monlib/encode/spack/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/encode/spack/CMakeLists.txt
+++ b/library/cpp/monlib/encode/spack/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/encode/text/CMakeLists.txt b/library/cpp/monlib/encode/text/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/encode/text/CMakeLists.txt
+++ b/library/cpp/monlib/encode/text/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/exception/CMakeLists.txt b/library/cpp/monlib/exception/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/exception/CMakeLists.txt
+++ b/library/cpp/monlib/exception/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/messagebus/CMakeLists.txt b/library/cpp/monlib/messagebus/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/messagebus/CMakeLists.txt
+++ b/library/cpp/monlib/messagebus/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/metrics/CMakeLists.darwin.txt b/library/cpp/monlib/metrics/CMakeLists.darwin.txt
index 1af273310a..052ed067e1 100644
--- a/library/cpp/monlib/metrics/CMakeLists.darwin.txt
+++ b/library/cpp/monlib/metrics/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-monlib-metrics)
 target_link_libraries(cpp-monlib-metrics PUBLIC
diff --git a/library/cpp/monlib/metrics/CMakeLists.linux-aarch64.txt b/library/cpp/monlib/metrics/CMakeLists.linux-aarch64.txt
index 999ca3d569..eb18b40c18 100644
--- a/library/cpp/monlib/metrics/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/monlib/metrics/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-monlib-metrics)
 target_link_libraries(cpp-monlib-metrics PUBLIC
diff --git a/library/cpp/monlib/metrics/CMakeLists.linux.txt b/library/cpp/monlib/metrics/CMakeLists.linux.txt
index 999ca3d569..eb18b40c18 100644
--- a/library/cpp/monlib/metrics/CMakeLists.linux.txt
+++ b/library/cpp/monlib/metrics/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-monlib-metrics)
 target_link_libraries(cpp-monlib-metrics PUBLIC
diff --git a/library/cpp/monlib/metrics/CMakeLists.txt b/library/cpp/monlib/metrics/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/metrics/CMakeLists.txt
+++ b/library/cpp/monlib/metrics/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/service/CMakeLists.txt b/library/cpp/monlib/service/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/service/CMakeLists.txt
+++ b/library/cpp/monlib/service/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/service/pages/CMakeLists.txt b/library/cpp/monlib/service/pages/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/service/pages/CMakeLists.txt
+++ b/library/cpp/monlib/service/pages/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.darwin.txt b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.darwin.txt
index be59f3a4b5..516c919f8a 100644
--- a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.darwin.txt
+++ b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(service-pages-tablesorter INTERFACE)
 target_link_libraries(service-pages-tablesorter INTERFACE
diff --git a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux-aarch64.txt b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux-aarch64.txt
index 633736b174..7e88b02a4b 100644
--- a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(service-pages-tablesorter INTERFACE)
 target_link_libraries(service-pages-tablesorter INTERFACE
diff --git a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux.txt b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux.txt
index 633736b174..7e88b02a4b 100644
--- a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux.txt
+++ b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_rescompiler_bin
+  TOOL_rescompiler_dependency
+  tools/rescompiler/bin
+  rescompiler
+)
 
 add_library(service-pages-tablesorter INTERFACE)
 target_link_libraries(service-pages-tablesorter INTERFACE
diff --git a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.txt b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/monlib/service/pages/tablesorter/CMakeLists.txt
+++ b/library/cpp/monlib/service/pages/tablesorter/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/on_disk/chunks/CMakeLists.txt b/library/cpp/on_disk/chunks/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/on_disk/chunks/CMakeLists.txt
+++ b/library/cpp/on_disk/chunks/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/openssl/holders/CMakeLists.txt b/library/cpp/openssl/holders/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/openssl/holders/CMakeLists.txt
+++ b/library/cpp/openssl/holders/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/openssl/init/CMakeLists.txt b/library/cpp/openssl/init/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/openssl/init/CMakeLists.txt
+++ b/library/cpp/openssl/init/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/openssl/io/CMakeLists.txt b/library/cpp/openssl/io/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/openssl/io/CMakeLists.txt
+++ b/library/cpp/openssl/io/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/openssl/method/CMakeLists.txt b/library/cpp/openssl/method/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/openssl/method/CMakeLists.txt
+++ b/library/cpp/openssl/method/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/packedtypes/CMakeLists.txt b/library/cpp/packedtypes/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/packedtypes/CMakeLists.txt
+++ b/library/cpp/packedtypes/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/packers/CMakeLists.txt b/library/cpp/packers/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/packers/CMakeLists.txt
+++ b/library/cpp/packers/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/pop_count/CMakeLists.txt b/library/cpp/pop_count/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/pop_count/CMakeLists.txt
+++ b/library/cpp/pop_count/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/presort/CMakeLists.txt b/library/cpp/presort/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/presort/CMakeLists.txt
+++ b/library/cpp/presort/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/protobuf/interop/CMakeLists.txt b/library/cpp/protobuf/interop/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/protobuf/interop/CMakeLists.txt
+++ b/library/cpp/protobuf/interop/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/protobuf/json/CMakeLists.txt b/library/cpp/protobuf/json/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/protobuf/json/CMakeLists.txt
+++ b/library/cpp/protobuf/json/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/protobuf/util/CMakeLists.txt b/library/cpp/protobuf/util/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/protobuf/util/CMakeLists.txt
+++ b/library/cpp/protobuf/util/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/protobuf/util/proto/CMakeLists.darwin.txt b/library/cpp/protobuf/util/proto/CMakeLists.darwin.txt
index 33cfab6c43..7a58b4bfeb 100644
--- a/library/cpp/protobuf/util/proto/CMakeLists.darwin.txt
+++ b/library/cpp/protobuf/util/proto/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(protobuf-util-proto)
 target_link_libraries(protobuf-util-proto PUBLIC
diff --git a/library/cpp/protobuf/util/proto/CMakeLists.linux-aarch64.txt b/library/cpp/protobuf/util/proto/CMakeLists.linux-aarch64.txt
index ae8c2efd18..5f08e7a691 100644
--- a/library/cpp/protobuf/util/proto/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/protobuf/util/proto/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(protobuf-util-proto)
 target_link_libraries(protobuf-util-proto PUBLIC
diff --git a/library/cpp/protobuf/util/proto/CMakeLists.linux.txt b/library/cpp/protobuf/util/proto/CMakeLists.linux.txt
index ae8c2efd18..5f08e7a691 100644
--- a/library/cpp/protobuf/util/proto/CMakeLists.linux.txt
+++ b/library/cpp/protobuf/util/proto/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(protobuf-util-proto)
 target_link_libraries(protobuf-util-proto PUBLIC
diff --git a/library/cpp/protobuf/util/proto/CMakeLists.txt b/library/cpp/protobuf/util/proto/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/protobuf/util/proto/CMakeLists.txt
+++ b/library/cpp/protobuf/util/proto/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/random_provider/CMakeLists.txt b/library/cpp/random_provider/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/random_provider/CMakeLists.txt
+++ b/library/cpp/random_provider/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/regex/CMakeLists.txt b/library/cpp/regex/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/regex/CMakeLists.txt
+++ b/library/cpp/regex/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/regex/hyperscan/CMakeLists.txt b/library/cpp/regex/hyperscan/CMakeLists.txt
index 76a075775f..0f8cf0fb16 100644
--- a/library/cpp/regex/hyperscan/CMakeLists.txt
+++ b/library/cpp/regex/hyperscan/CMakeLists.txt
@@ -8,6 +8,6 @@
 
 if (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/regex/pcre/CMakeLists.txt b/library/cpp/regex/pcre/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/regex/pcre/CMakeLists.txt
+++ b/library/cpp/regex/pcre/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/regex/pire/CMakeLists.txt b/library/cpp/regex/pire/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/regex/pire/CMakeLists.txt
+++ b/library/cpp/regex/pire/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/resource/CMakeLists.txt b/library/cpp/resource/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/resource/CMakeLists.txt
+++ b/library/cpp/resource/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/retry/CMakeLists.txt b/library/cpp/retry/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/retry/CMakeLists.txt
+++ b/library/cpp/retry/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/retry/protos/CMakeLists.darwin.txt b/library/cpp/retry/protos/CMakeLists.darwin.txt
index 961aae8383..ba41965df2 100644
--- a/library/cpp/retry/protos/CMakeLists.darwin.txt
+++ b/library/cpp/retry/protos/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-retry-protos)
 target_link_libraries(cpp-retry-protos PUBLIC
diff --git a/library/cpp/retry/protos/CMakeLists.linux-aarch64.txt b/library/cpp/retry/protos/CMakeLists.linux-aarch64.txt
index cf6bfee5f1..3c4f9aed25 100644
--- a/library/cpp/retry/protos/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/retry/protos/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-retry-protos)
 target_link_libraries(cpp-retry-protos PUBLIC
diff --git a/library/cpp/retry/protos/CMakeLists.linux.txt b/library/cpp/retry/protos/CMakeLists.linux.txt
index cf6bfee5f1..3c4f9aed25 100644
--- a/library/cpp/retry/protos/CMakeLists.linux.txt
+++ b/library/cpp/retry/protos/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(cpp-retry-protos)
 target_link_libraries(cpp-retry-protos PUBLIC
diff --git a/library/cpp/retry/protos/CMakeLists.txt b/library/cpp/retry/protos/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/retry/protos/CMakeLists.txt
+++ b/library/cpp/retry/protos/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/scheme/CMakeLists.darwin.txt b/library/cpp/scheme/CMakeLists.darwin.txt
index e0b564558c..851add2e6c 100644
--- a/library/cpp/scheme/CMakeLists.darwin.txt
+++ b/library/cpp/scheme/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-scheme)
 target_link_libraries(library-cpp-scheme PUBLIC
diff --git a/library/cpp/scheme/CMakeLists.linux-aarch64.txt b/library/cpp/scheme/CMakeLists.linux-aarch64.txt
index 709a30d9ca..39139ce3c8 100644
--- a/library/cpp/scheme/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/scheme/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-scheme)
 target_link_libraries(library-cpp-scheme PUBLIC
diff --git a/library/cpp/scheme/CMakeLists.linux.txt b/library/cpp/scheme/CMakeLists.linux.txt
index 709a30d9ca..39139ce3c8 100644
--- a/library/cpp/scheme/CMakeLists.linux.txt
+++ b/library/cpp/scheme/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-scheme)
 target_link_libraries(library-cpp-scheme PUBLIC
diff --git a/library/cpp/scheme/CMakeLists.txt b/library/cpp/scheme/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/scheme/CMakeLists.txt
+++ b/library/cpp/scheme/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/sighandler/CMakeLists.txt b/library/cpp/sighandler/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/sighandler/CMakeLists.txt
+++ b/library/cpp/sighandler/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/sliding_window/CMakeLists.txt b/library/cpp/sliding_window/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/sliding_window/CMakeLists.txt
+++ b/library/cpp/sliding_window/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/sse/CMakeLists.txt b/library/cpp/sse/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/sse/CMakeLists.txt
+++ b/library/cpp/sse/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/streams/brotli/CMakeLists.txt b/library/cpp/streams/brotli/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/streams/brotli/CMakeLists.txt
+++ b/library/cpp/streams/brotli/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/streams/bzip2/CMakeLists.txt b/library/cpp/streams/bzip2/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/streams/bzip2/CMakeLists.txt
+++ b/library/cpp/streams/bzip2/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/streams/lzma/CMakeLists.txt b/library/cpp/streams/lzma/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/streams/lzma/CMakeLists.txt
+++ b/library/cpp/streams/lzma/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/streams/zc_memory_input/CMakeLists.txt b/library/cpp/streams/zc_memory_input/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/streams/zc_memory_input/CMakeLists.txt
+++ b/library/cpp/streams/zc_memory_input/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/streams/zstd/CMakeLists.txt b/library/cpp/streams/zstd/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/streams/zstd/CMakeLists.txt
+++ b/library/cpp/streams/zstd/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/base64/CMakeLists.txt b/library/cpp/string_utils/base64/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/base64/CMakeLists.txt
+++ b/library/cpp/string_utils/base64/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/csv/CMakeLists.txt b/library/cpp/string_utils/csv/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/csv/CMakeLists.txt
+++ b/library/cpp/string_utils/csv/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/indent_text/CMakeLists.txt b/library/cpp/string_utils/indent_text/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/indent_text/CMakeLists.txt
+++ b/library/cpp/string_utils/indent_text/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/levenshtein_diff/CMakeLists.txt b/library/cpp/string_utils/levenshtein_diff/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/levenshtein_diff/CMakeLists.txt
+++ b/library/cpp/string_utils/levenshtein_diff/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/parse_size/CMakeLists.txt b/library/cpp/string_utils/parse_size/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/parse_size/CMakeLists.txt
+++ b/library/cpp/string_utils/parse_size/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/quote/CMakeLists.txt b/library/cpp/string_utils/quote/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/quote/CMakeLists.txt
+++ b/library/cpp/string_utils/quote/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/relaxed_escaper/CMakeLists.txt b/library/cpp/string_utils/relaxed_escaper/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/relaxed_escaper/CMakeLists.txt
+++ b/library/cpp/string_utils/relaxed_escaper/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/scan/CMakeLists.txt b/library/cpp/string_utils/scan/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/scan/CMakeLists.txt
+++ b/library/cpp/string_utils/scan/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/url/CMakeLists.txt b/library/cpp/string_utils/url/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/url/CMakeLists.txt
+++ b/library/cpp/string_utils/url/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/string_utils/ztstrbuf/CMakeLists.txt b/library/cpp/string_utils/ztstrbuf/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/string_utils/ztstrbuf/CMakeLists.txt
+++ b/library/cpp/string_utils/ztstrbuf/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/svnversion/CMakeLists.txt b/library/cpp/svnversion/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/svnversion/CMakeLists.txt
+++ b/library/cpp/svnversion/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/tdigest/CMakeLists.darwin.txt b/library/cpp/tdigest/CMakeLists.darwin.txt
index e373216898..9dd7437db0 100644
--- a/library/cpp/tdigest/CMakeLists.darwin.txt
+++ b/library/cpp/tdigest/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(library-cpp-tdigest)
 target_link_libraries(library-cpp-tdigest PUBLIC
diff --git a/library/cpp/tdigest/CMakeLists.linux-aarch64.txt b/library/cpp/tdigest/CMakeLists.linux-aarch64.txt
index 08977c85c0..2fdc4b7b12 100644
--- a/library/cpp/tdigest/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/tdigest/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(library-cpp-tdigest)
 target_link_libraries(library-cpp-tdigest PUBLIC
diff --git a/library/cpp/tdigest/CMakeLists.linux.txt b/library/cpp/tdigest/CMakeLists.linux.txt
index 08977c85c0..2fdc4b7b12 100644
--- a/library/cpp/tdigest/CMakeLists.linux.txt
+++ b/library/cpp/tdigest/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
 
 add_library(library-cpp-tdigest)
 target_link_libraries(library-cpp-tdigest PUBLIC
diff --git a/library/cpp/tdigest/CMakeLists.txt b/library/cpp/tdigest/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/tdigest/CMakeLists.txt
+++ b/library/cpp/tdigest/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/terminate_handler/CMakeLists.txt b/library/cpp/terminate_handler/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/terminate_handler/CMakeLists.txt
+++ b/library/cpp/terminate_handler/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/benchmark/CMakeLists.txt b/library/cpp/testing/benchmark/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/benchmark/CMakeLists.txt
+++ b/library/cpp/testing/benchmark/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/benchmark/main/CMakeLists.txt b/library/cpp/testing/benchmark/main/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/benchmark/main/CMakeLists.txt
+++ b/library/cpp/testing/benchmark/main/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/common/CMakeLists.txt b/library/cpp/testing/common/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/common/CMakeLists.txt
+++ b/library/cpp/testing/common/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/gmock_in_unittest/CMakeLists.txt b/library/cpp/testing/gmock_in_unittest/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/gmock_in_unittest/CMakeLists.txt
+++ b/library/cpp/testing/gmock_in_unittest/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/gtest/CMakeLists.txt b/library/cpp/testing/gtest/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/gtest/CMakeLists.txt
+++ b/library/cpp/testing/gtest/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/gtest_extensions/CMakeLists.txt b/library/cpp/testing/gtest_extensions/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/gtest_extensions/CMakeLists.txt
+++ b/library/cpp/testing/gtest_extensions/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/gtest_main/CMakeLists.txt b/library/cpp/testing/gtest_main/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/gtest_main/CMakeLists.txt
+++ b/library/cpp/testing/gtest_main/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/hook/CMakeLists.txt b/library/cpp/testing/hook/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/hook/CMakeLists.txt
+++ b/library/cpp/testing/hook/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/unittest/CMakeLists.txt b/library/cpp/testing/unittest/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/unittest/CMakeLists.txt
+++ b/library/cpp/testing/unittest/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/testing/unittest_main/CMakeLists.txt b/library/cpp/testing/unittest_main/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/testing/unittest_main/CMakeLists.txt
+++ b/library/cpp/testing/unittest_main/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/atomic/CMakeLists.txt b/library/cpp/threading/atomic/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/atomic/CMakeLists.txt
+++ b/library/cpp/threading/atomic/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/chunk_queue/CMakeLists.txt b/library/cpp/threading/chunk_queue/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/chunk_queue/CMakeLists.txt
+++ b/library/cpp/threading/chunk_queue/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/equeue/CMakeLists.txt b/library/cpp/threading/equeue/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/equeue/CMakeLists.txt
+++ b/library/cpp/threading/equeue/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/future/CMakeLists.txt b/library/cpp/threading/future/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/future/CMakeLists.txt
+++ b/library/cpp/threading/future/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/light_rw_lock/CMakeLists.txt b/library/cpp/threading/light_rw_lock/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/light_rw_lock/CMakeLists.txt
+++ b/library/cpp/threading/light_rw_lock/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/local_executor/CMakeLists.txt b/library/cpp/threading/local_executor/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/local_executor/CMakeLists.txt
+++ b/library/cpp/threading/local_executor/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/poor_man_openmp/CMakeLists.txt b/library/cpp/threading/poor_man_openmp/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/poor_man_openmp/CMakeLists.txt
+++ b/library/cpp/threading/poor_man_openmp/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/queue/CMakeLists.txt b/library/cpp/threading/queue/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/queue/CMakeLists.txt
+++ b/library/cpp/threading/queue/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/skip_list/CMakeLists.txt b/library/cpp/threading/skip_list/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/skip_list/CMakeLists.txt
+++ b/library/cpp/threading/skip_list/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/threading/task_scheduler/CMakeLists.txt b/library/cpp/threading/task_scheduler/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/threading/task_scheduler/CMakeLists.txt
+++ b/library/cpp/threading/task_scheduler/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/time_provider/CMakeLists.txt b/library/cpp/time_provider/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/time_provider/CMakeLists.txt
+++ b/library/cpp/time_provider/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/timezone_conversion/CMakeLists.darwin.txt b/library/cpp/timezone_conversion/CMakeLists.darwin.txt
index 61a16e32f5..0d060c2699 100644
--- a/library/cpp/timezone_conversion/CMakeLists.darwin.txt
+++ b/library/cpp/timezone_conversion/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-timezone_conversion)
 target_link_libraries(library-cpp-timezone_conversion PUBLIC
diff --git a/library/cpp/timezone_conversion/CMakeLists.linux-aarch64.txt b/library/cpp/timezone_conversion/CMakeLists.linux-aarch64.txt
index 260c313b6a..daf50a668e 100644
--- a/library/cpp/timezone_conversion/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/timezone_conversion/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-timezone_conversion)
 target_link_libraries(library-cpp-timezone_conversion PUBLIC
diff --git a/library/cpp/timezone_conversion/CMakeLists.linux.txt b/library/cpp/timezone_conversion/CMakeLists.linux.txt
index 260c313b6a..daf50a668e 100644
--- a/library/cpp/timezone_conversion/CMakeLists.linux.txt
+++ b/library/cpp/timezone_conversion/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-timezone_conversion)
 target_link_libraries(library-cpp-timezone_conversion PUBLIC
diff --git a/library/cpp/timezone_conversion/CMakeLists.txt b/library/cpp/timezone_conversion/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/timezone_conversion/CMakeLists.txt
+++ b/library/cpp/timezone_conversion/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/tld/CMakeLists.txt b/library/cpp/tld/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/tld/CMakeLists.txt
+++ b/library/cpp/tld/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/unicode/normalization/CMakeLists.txt b/library/cpp/unicode/normalization/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/unicode/normalization/CMakeLists.txt
+++ b/library/cpp/unicode/normalization/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/unicode/punycode/CMakeLists.txt b/library/cpp/unicode/punycode/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/unicode/punycode/CMakeLists.txt
+++ b/library/cpp/unicode/punycode/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/unicode/set/CMakeLists.darwin.txt b/library/cpp/unicode/set/CMakeLists.darwin.txt
index 022f1191b8..81e3230ffe 100644
--- a/library/cpp/unicode/set/CMakeLists.darwin.txt
+++ b/library/cpp/unicode/set/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-unicode-set)
 target_link_libraries(cpp-unicode-set PUBLIC
diff --git a/library/cpp/unicode/set/CMakeLists.linux-aarch64.txt b/library/cpp/unicode/set/CMakeLists.linux-aarch64.txt
index fce1655078..1746645e0c 100644
--- a/library/cpp/unicode/set/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/unicode/set/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-unicode-set)
 target_link_libraries(cpp-unicode-set PUBLIC
diff --git a/library/cpp/unicode/set/CMakeLists.linux.txt b/library/cpp/unicode/set/CMakeLists.linux.txt
index fce1655078..1746645e0c 100644
--- a/library/cpp/unicode/set/CMakeLists.linux.txt
+++ b/library/cpp/unicode/set/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-unicode-set)
 target_link_libraries(cpp-unicode-set PUBLIC
diff --git a/library/cpp/unicode/set/CMakeLists.txt b/library/cpp/unicode/set/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/unicode/set/CMakeLists.txt
+++ b/library/cpp/unicode/set/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/unified_agent_client/CMakeLists.darwin.txt b/library/cpp/unified_agent_client/CMakeLists.darwin.txt
index ac4481155f..c681f29c5b 100644
--- a/library/cpp/unified_agent_client/CMakeLists.darwin.txt
+++ b/library/cpp/unified_agent_client/CMakeLists.darwin.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(proto)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-unified_agent_client)
 target_include_directories(library-cpp-unified_agent_client PRIVATE
diff --git a/library/cpp/unified_agent_client/CMakeLists.linux-aarch64.txt b/library/cpp/unified_agent_client/CMakeLists.linux-aarch64.txt
index 01a8bd743d..84821c3369 100644
--- a/library/cpp/unified_agent_client/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/unified_agent_client/CMakeLists.linux-aarch64.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(proto)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-unified_agent_client)
 target_include_directories(library-cpp-unified_agent_client PRIVATE
diff --git a/library/cpp/unified_agent_client/CMakeLists.linux.txt b/library/cpp/unified_agent_client/CMakeLists.linux.txt
index 01a8bd743d..84821c3369 100644
--- a/library/cpp/unified_agent_client/CMakeLists.linux.txt
+++ b/library/cpp/unified_agent_client/CMakeLists.linux.txt
@@ -7,6 +7,12 @@
 
 
 add_subdirectory(proto)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(library-cpp-unified_agent_client)
 target_include_directories(library-cpp-unified_agent_client PRIVATE
diff --git a/library/cpp/unified_agent_client/CMakeLists.txt b/library/cpp/unified_agent_client/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/unified_agent_client/CMakeLists.txt
+++ b/library/cpp/unified_agent_client/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/unified_agent_client/proto/CMakeLists.darwin.txt b/library/cpp/unified_agent_client/proto/CMakeLists.darwin.txt
index 9642a192c4..6f12b2aa5e 100644
--- a/library/cpp/unified_agent_client/proto/CMakeLists.darwin.txt
+++ b/library/cpp/unified_agent_client/proto/CMakeLists.darwin.txt
@@ -6,6 +6,30 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_grpc_cpp_bin
+  TOOL_grpc_cpp_dependency
+  contrib/tools/protoc/plugins/grpc_cpp
+  grpc_cpp
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-unified_agent_client-proto)
 set_property(TARGET cpp-unified_agent_client-proto PROPERTY
diff --git a/library/cpp/unified_agent_client/proto/CMakeLists.linux-aarch64.txt b/library/cpp/unified_agent_client/proto/CMakeLists.linux-aarch64.txt
index da20d2e479..571e21b861 100644
--- a/library/cpp/unified_agent_client/proto/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/unified_agent_client/proto/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,30 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_grpc_cpp_bin
+  TOOL_grpc_cpp_dependency
+  contrib/tools/protoc/plugins/grpc_cpp
+  grpc_cpp
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-unified_agent_client-proto)
 set_property(TARGET cpp-unified_agent_client-proto PROPERTY
diff --git a/library/cpp/unified_agent_client/proto/CMakeLists.linux.txt b/library/cpp/unified_agent_client/proto/CMakeLists.linux.txt
index da20d2e479..571e21b861 100644
--- a/library/cpp/unified_agent_client/proto/CMakeLists.linux.txt
+++ b/library/cpp/unified_agent_client/proto/CMakeLists.linux.txt
@@ -6,6 +6,30 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_grpc_cpp_bin
+  TOOL_grpc_cpp_dependency
+  contrib/tools/protoc/plugins/grpc_cpp
+  grpc_cpp
+)
+get_built_tool_path(
+  TOOL_protoc_bin
+  TOOL_protoc_dependency
+  contrib/tools/protoc/bin
+  protoc
+)
+get_built_tool_path(
+  TOOL_cpp_styleguide_bin
+  TOOL_cpp_styleguide_dependency
+  contrib/tools/protoc/plugins/cpp_styleguide
+  cpp_styleguide
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-unified_agent_client-proto)
 set_property(TARGET cpp-unified_agent_client-proto PROPERTY
diff --git a/library/cpp/unified_agent_client/proto/CMakeLists.txt b/library/cpp/unified_agent_client/proto/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/unified_agent_client/proto/CMakeLists.txt
+++ b/library/cpp/unified_agent_client/proto/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/uri/CMakeLists.txt b/library/cpp/uri/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/uri/CMakeLists.txt
+++ b/library/cpp/uri/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/xml/document/CMakeLists.txt b/library/cpp/xml/document/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/xml/document/CMakeLists.txt
+++ b/library/cpp/xml/document/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/xml/init/CMakeLists.txt b/library/cpp/xml/init/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/xml/init/CMakeLists.txt
+++ b/library/cpp/xml/init/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yaml/as/CMakeLists.txt b/library/cpp/yaml/as/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yaml/as/CMakeLists.txt
+++ b/library/cpp/yaml/as/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yaml/fyamlcpp/CMakeLists.txt b/library/cpp/yaml/fyamlcpp/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yaml/fyamlcpp/CMakeLists.txt
+++ b/library/cpp/yaml/fyamlcpp/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yson/CMakeLists.txt b/library/cpp/yson/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yson/CMakeLists.txt
+++ b/library/cpp/yson/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yson/json/CMakeLists.txt b/library/cpp/yson/json/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yson/json/CMakeLists.txt
+++ b/library/cpp/yson/json/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yson/node/CMakeLists.darwin.txt b/library/cpp/yson/node/CMakeLists.darwin.txt
index 496d880ece..e9334e323e 100644
--- a/library/cpp/yson/node/CMakeLists.darwin.txt
+++ b/library/cpp/yson/node/CMakeLists.darwin.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-yson-node)
 target_link_libraries(cpp-yson-node PUBLIC
diff --git a/library/cpp/yson/node/CMakeLists.linux-aarch64.txt b/library/cpp/yson/node/CMakeLists.linux-aarch64.txt
index 3ff6e4bc61..ddf918de7f 100644
--- a/library/cpp/yson/node/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/yson/node/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-yson-node)
 target_link_libraries(cpp-yson-node PUBLIC
diff --git a/library/cpp/yson/node/CMakeLists.linux.txt b/library/cpp/yson/node/CMakeLists.linux.txt
index 3ff6e4bc61..ddf918de7f 100644
--- a/library/cpp/yson/node/CMakeLists.linux.txt
+++ b/library/cpp/yson/node/CMakeLists.linux.txt
@@ -6,6 +6,12 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(cpp-yson-node)
 target_link_libraries(cpp-yson-node PUBLIC
diff --git a/library/cpp/yson/node/CMakeLists.txt b/library/cpp/yson/node/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yson/node/CMakeLists.txt
+++ b/library/cpp/yson/node/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yson_pull/CMakeLists.darwin.txt b/library/cpp/yson_pull/CMakeLists.darwin.txt
index e5303a0bc1..a5c4253641 100644
--- a/library/cpp/yson_pull/CMakeLists.darwin.txt
+++ b/library/cpp/yson_pull/CMakeLists.darwin.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(yson_pull)
 target_link_libraries(yson_pull PUBLIC
diff --git a/library/cpp/yson_pull/CMakeLists.linux-aarch64.txt b/library/cpp/yson_pull/CMakeLists.linux-aarch64.txt
index 778558fd8b..b634e26c5f 100644
--- a/library/cpp/yson_pull/CMakeLists.linux-aarch64.txt
+++ b/library/cpp/yson_pull/CMakeLists.linux-aarch64.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(yson_pull)
 target_link_libraries(yson_pull PUBLIC
diff --git a/library/cpp/yson_pull/CMakeLists.linux.txt b/library/cpp/yson_pull/CMakeLists.linux.txt
index 778558fd8b..b634e26c5f 100644
--- a/library/cpp/yson_pull/CMakeLists.linux.txt
+++ b/library/cpp/yson_pull/CMakeLists.linux.txt
@@ -6,6 +6,18 @@
 # original buildsystem will not be accepted.
 
 
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
+get_built_tool_path(
+  TOOL_enum_parser_bin
+  TOOL_enum_parser_dependency
+  tools/enum_parser/enum_parser
+  enum_parser
+)
 
 add_library(yson_pull)
 target_link_libraries(yson_pull PUBLIC
diff --git a/library/cpp/yson_pull/CMakeLists.txt b/library/cpp/yson_pull/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yson_pull/CMakeLists.txt
+++ b/library/cpp/yson_pull/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/assert/CMakeLists.txt b/library/cpp/yt/assert/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/assert/CMakeLists.txt
+++ b/library/cpp/yt/assert/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/coding/CMakeLists.txt b/library/cpp/yt/coding/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/coding/CMakeLists.txt
+++ b/library/cpp/yt/coding/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/exception/CMakeLists.txt b/library/cpp/yt/exception/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/exception/CMakeLists.txt
+++ b/library/cpp/yt/exception/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/malloc/CMakeLists.txt b/library/cpp/yt/malloc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/malloc/CMakeLists.txt
+++ b/library/cpp/yt/malloc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/memory/CMakeLists.txt b/library/cpp/yt/memory/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/memory/CMakeLists.txt
+++ b/library/cpp/yt/memory/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/misc/CMakeLists.txt b/library/cpp/yt/misc/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/misc/CMakeLists.txt
+++ b/library/cpp/yt/misc/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/small_containers/CMakeLists.txt b/library/cpp/yt/small_containers/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/small_containers/CMakeLists.txt
+++ b/library/cpp/yt/small_containers/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/string/CMakeLists.txt b/library/cpp/yt/string/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/string/CMakeLists.txt
+++ b/library/cpp/yt/string/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/yson/CMakeLists.txt b/library/cpp/yt/yson/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/yson/CMakeLists.txt
+++ b/library/cpp/yt/yson/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/yt/yson_string/CMakeLists.txt b/library/cpp/yt/yson_string/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/yt/yson_string/CMakeLists.txt
+++ b/library/cpp/yt/yson_string/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
diff --git a/library/cpp/ytalloc/api/CMakeLists.txt b/library/cpp/ytalloc/api/CMakeLists.txt
index 5bb4faffb4..eee324bb60 100644
--- a/library/cpp/ytalloc/api/CMakeLists.txt
+++ b/library/cpp/ytalloc/api/CMakeLists.txt
@@ -10,6 +10,6 @@ if (CMAKE_SYSTEM_PROCESSOR STREQUAL "aarch64" AND UNIX AND NOT APPLE AND NOT AND
   include(CMakeLists.linux-aarch64.txt)
 elseif (APPLE AND CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
   include(CMakeLists.darwin.txt)
-elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID)
+elseif (CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64" AND UNIX AND NOT APPLE AND NOT ANDROID AND NOT HAVE_CUDA)
   include(CMakeLists.linux.txt)
 endif()
-- 
cgit v1.2.3