Как написать файл Bazel BUILD для этого Boost.Build Jamfile?
Я пытаюсь перейти с Boost.Build на систему сборки Bazel. Мне нужно написать Jamfile для каталога, который создает библиотеку.
Jamfile у меня есть
project : usage-requirements <include>$(PROJECT_INSTALL)
<linkflags>-lboost_system
;
lib CommonDataStructures : [ glob *.cpp ] : <link>static ;
install libCommonDataStructures
: CommonDataStructures
: <install-type>LIB
<variant>release:<location>"$(PROJECT_INSTALL)/lib"
<variant>debug:<location>"$(PROJECT_INSTALL)/libdebug"
: release debug
;
Как мне написать файл BUILD для Bazel?
1 ответ
Извините, но у меня нет опыта работы с Boost.Build, но я попробую.
Файл BUILD, вероятно, будет содержать только:
cc_library(
name = "common_data_structures",
srcs = glob(["*.cpp"]),
)
И чтобы построить это просто запустить bazel build //:common_data_structures
, Bazel создаст как статическую библиотеку, так и разделяемую библиотеку, и когда от нее будут зависеть другие cc_library или cc_binary, по умолчанию они будут статически связаны. Посмотрите нашу документацию по правилам C++, чтобы увидеть все атрибуты. Было ли это полезно вообще?