| def define_targets(rules): | |
| rules.cc_library( | |
| name = "macros", | |
| srcs = [":cmake_macros_h"], | |
| hdrs = [ | |
| "Macros.h", | |
| # Despite the documentation in Macros.h, Export.h is included | |
| # directly by many downstream files. Thus, we declare it as a | |
| # public header in this file. | |
| "Export.h", | |
| ], | |
| linkstatic = True, | |
| local_defines = ["C10_BUILD_MAIN_LIB"], | |
| visibility = ["//visibility:public"], | |
| ) | |
| rules.cmake_configure_file( | |
| name = "cmake_macros_h", | |
| src = "cmake_macros.h.in", | |
| out = "cmake_macros.h", | |
| definitions = [ | |
| "C10_BUILD_SHARED_LIBS", | |
| "C10_USE_MSVC_STATIC_RUNTIME", | |
| ] + rules.select({ | |
| "//c10:using_gflags": ["C10_USE_GFLAGS"], | |
| "//conditions:default": [], | |
| }) + rules.select({ | |
| "//c10:using_glog": ["C10_USE_GLOG"], | |
| "//conditions:default": [], | |
| }), | |
| ) | |
| rules.filegroup( | |
| name = "headers", | |
| srcs = rules.glob( | |
| ["*.h"], | |
| exclude = [ | |
| ], | |
| ), | |
| visibility = ["//:__pkg__"], | |
| ) |