#include отображение соответствия в Biicode (biicode.conf)

Я хочу создать блок для менеджера зависимостей Биикод. я не хочу прикоснуться к существующему исходному коду, поэтому я должен сопоставить пути включения из существующих блоков Bii с путями, используемыми в моем исходном коде.

Я использую следующие включения в мой существующий код:

#include "gtest/gtest.h"#include "fw/core/uncopyable_mixin.h"

С настройками по умолчанию Bii ожидает следующие пути:

#include "google/gtest/include/gtest/gtest.h"#include "florianwolters/include/fw/core/uncopyable_mixin.h"

Если я заменяю включения, все работает как положено. Но, как я уже говорил, я не хочу, чтобы такие уродливые пути включались, а использовал здравый смысл (как это делают Boost и другие библиотеки).

Поэтому мне нужно наметить пути. Я читал о biicode.conf и наткнулся на [includes] раздел.

Я пробовал следующее:

[requirements]
google/gtest: 9
florianwolters/uncopyable-mixin: 0

[parent]
florianwolters/singleton: -1

[paths]
include

[dependencies]

[mains]

[hooks]

[includes]
gtest/gtest.h: google/gtest/include/gtest
fw/core/uncopyable_mixin.h: florianwolters/uncopyable-mixin/include/fw/core

[data]

Но это не работает

INFO: Processing changes...
WARN: Removing unused reference to "florianwolters/uncopyable-mixin: 0" from florianwolters/singleton "requirements"WARN: Removing unused reference to "google/gtest: 9" from florianwolters/singleton "requirements"

Итак, мой вопрос: как мне настроить отображение, чтобы оно работало с существующими #include-заявления? Это должно сработать, иначе это критерий убийцы …

6

Решение

Раздел [include] добавляет правую часть к левой стороне, если шаблон левой стороны соответствует имени файла. В вашем случае последние папки не нужны. Попробуйте вместо этого:

[includes]
gtest/gtest.h: google/gtest/include
fw/core/uncopyable_mixin.h: florianwolters/uncopyable-mixin/include

Кроме того, помните, что вы можете использовать также шаблоны (ala fnmatch):

[includes]
gtest/*.h: google/gtest/include
fw/core/*.h: florianwolters/uncopyable-mixin/include
5

Другие решения


По вопросам рекламы [email protected]