| def define_targets(rules): | |
| rules.cc_library( | |
| name = "cuda", | |
| srcs = rules.glob( | |
| [ | |
| "*.cpp", | |
| "impl/*.cpp", | |
| ], | |
| exclude = [ | |
| "test/**/*.cpp", | |
| ], | |
| ), | |
| hdrs = rules.glob( | |
| [ | |
| "*.h", | |
| "impl/*.h", | |
| ], | |
| exclude = [ | |
| "CUDAMacros.h", | |
| ], | |
| ), | |
| # This library uses registration. Don't let registered | |
| # entities be removed. | |
| alwayslink = True, | |
| linkstatic = True, | |
| local_defines = ["C10_BUILD_MAIN_LIB"], | |
| visibility = ["//visibility:public"], | |
| deps = [ | |
| ":Macros", | |
| "@cuda", | |
| "//c10/core:base", | |
| "//c10/macros", | |
| "//c10/util:base", | |
| ], | |
| target_compatible_with = rules.requires_cuda_enabled(), | |
| ) | |
| rules.cc_library( | |
| name = "Macros", | |
| srcs = [":cuda_cmake_macros"], | |
| hdrs = ["CUDAMacros.h"], | |
| linkstatic = True, | |
| local_defines = ["C10_BUILD_MAIN_LIB"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| rules.cmake_configure_file( | |
| name = "cuda_cmake_macros", | |
| src = "impl/cuda_cmake_macros.h.in", | |
| out = "impl/cuda_cmake_macros.h", | |
| definitions = [], | |
| ) | |
| rules.filegroup( | |
| name = "headers", | |
| srcs = rules.glob( | |
| [ | |
| "*.h", | |
| "impl/*.h", | |
| ], | |
| exclude = [ | |
| ], | |
| ), | |
| visibility = ["//c10:__pkg__"], | |
| ) |