2014-12-31 7 views
6

Chcę utworzyć blok dla menedżera zależności Biicode. I nie chcę, aby dotknął istniejącego kodu źródłowego, więc muszę zmapować ścieżki dołączeń z istniejących bloków Bii do ścieżek używanych w moim kodzie źródłowym.Mapowanie instrukcji #include w programie Biicode (biicode.conf)

Używam następujące obejmuje w moim istniejącego kodu:

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

Przy ustawieniach domyślnych Bii spodziewa się następujące ścieżki:

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

Gdybym zastąpić obejmuje, wszystko działa zgodnie z oczekiwaniami . Ale jak już powiedziałem, nie chcę takich brzydkich ścieżek, ale korzystam ze zdrowego rozsądku (jak to robią Boost i inne biblioteki).

Dlatego muszę mapować ścieżki. Przeczytałem o biicode.conf i natknąłem się na sekcję [includes].

Próbowałem następujące:

[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] 

ale to nie działa:

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" 

Więc moje pytanie brzmi: Jak mam skonfigurować mapowania, aby to działało z istniejące numery katalogowe: #include? To musi zadziałać, w przeciwnym razie jest to kryterium zabójcy ...

Odpowiedz

5

Sekcja [zawiera] wstawia prawą część na lewą stronę w przypadku, gdy lewy wzór pasuje do nazwy pliku. W twoim przypadku ostatnie foldery nie są potrzebne. Spróbuj zamiast:

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

Ponadto, należy pamiętać, że można użyć również wzory (ala fnmatch):

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