Инкрементальность Базеля с --define - PullRequest
0 голосов
/ 26 февраля 2020

Когда значение --define изменяется, например, с --define=foo=bar на --define=foo=qux, будет ли сборка производиться постепенно (создавать только цели, которые зависят от $ (foo)) или вызывать полную перестройку?

1 Ответ

1 голос
/ 26 февраля 2020

Только такие "зависимые" цели аннулируются таким изменением. В конце концов, это по сути вход / источник, как исходный файл, описание сборки, инструмент или переменная окружения. Например:

config_setting(
    name = "bar",
    define_values = {
        "bar": "1",
    },
)

cc_binary(
    name = "hello",
    srcs = ["hello.cpp"],
)

cc_binary(
    name = "chello",
    srcs = ["hello.c"],
    copts = select(
        {
            ":bar": ["-DBAR"],
            "//conditions:default": [],
        }
    ),
)

Только chello цель будет переделана при манипулировании значением --define bar=...

...