# Bazel build # C/C++ documentation: https://docs.bazel.build/versions/master/be/c-cpp.html load("//bazel:ray.bzl", "COPTS") cc_library( name = "ray_api", srcs = glob([ "src/ray/api.cc", "src/ray/api/*.cc", "src/ray/api/*.h", "src/ray/app/*.cc", "src/ray/app/*.h", "src/ray/runtime/*.cc", "src/ray/runtime/*.h", "src/ray/runtime/**/*.cc", "src/ray/runtime/**/*.h", "src/ray/runtime/task/*.cc", "src/ray/runtime/task/*.h", "src/ray/util/*.cc", "src/ray/util/*.h", "src/ray/*.cc", "src/ray/*.h", "src/ray/worker/default_worker.cc", ]), hdrs = glob([ "include/ray/*.h", "include/ray/**/*.h", "include/ray/**/**/*.h", ]), copts = COPTS, linkopts = ["-ldl"], linkstatic = True, strip_include_prefix = "include", visibility = ["//visibility:public"], deps = [ "//:core_worker_lib", "//:ray_common", "//:ray_util", "@boost//:asio", "@boost//:thread", "@com_google_absl//absl/synchronization", "@msgpack", ], ) cc_binary( name = "example", testonly = 1, srcs = glob([ "src/example/example.cc", ]), copts = COPTS, linkstatic = False, deps = [ "ray_api", ], ) cc_test( name = "api_test", srcs = glob([ "src/ray/test/*.cc", ]), copts = COPTS, linkstatic = False, deps = [ "ray_api", "@com_google_googletest//:gtest_main", ], ) cc_test( name = "cluster_mode_test", testonly = 0, srcs = glob([ "src/ray/test/cluster/*.cc", ]), copts = COPTS, linkstatic = True, deps = [ "ray_api", "@com_google_googletest//:gtest_main", ], ) genrule( name = "ray_cpp_pkg", srcs = [ "cluster_mode_test", "ray_api", ], outs = ["ray_cpp_pkg.out"], cmd = """ WORK_DIR="$$(pwd)" && mkdir -p "$$WORK_DIR/python/ray/core/src/ray/cpp/" && cp -f $(location cluster_mode_test) "$$WORK_DIR/python/ray/core/src/ray/cpp/default_worker" && cp -f $(locations ray_api) "$$WORK_DIR/python/ray/core/src/ray/cpp/" && echo "$$WORK_DIR" > $@ """, local = 1, )