2014-12-31 15 views
6

Voglio creare un blocco per il manager delle dipendenze Biicode. I non desidera che tocchi il codice sorgente esistente, quindi devo mappare i percorsi di inclusione dai blocchi Bii esistenti ai percorsi utilizzati nel mio codice sorgente.#include mapping di istruzioni in Biicode (biicode.conf)

Sto usando il seguente include nel mio codice esistente:

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

Con le impostazioni di default Bii aspetta i seguenti percorsi:

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

Se si sostituisce la include, tutto sta funzionando come previsto . Ma come ho già affermato, non voglio seguire percorsi così brutti, ma usare il buon senso (come fanno Boost e altre librerie).

Pertanto, ho bisogno di mappare i percorsi. Ho letto su biicode.conf e sono incappato nella sezione [includes].

ho provato la seguente:

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

Ma questo non funziona:

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" 

Quindi la mia domanda è: Come devo configurare la mappatura per farlo funzionare con la esistenti #include -statements? Questo deve funzionare, altrimenti è un killer-criterium ...

risposta

5

La sezione [include] antepone la parte destra al lato sinistro nel caso in cui il modello del lato sinistro corrisponda al nome del file. Nel tuo caso, le ultime cartelle non sono necessarie. Prova invece:

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

Inoltre, ricordate che è possibile utilizzare anche i modelli (ala fnmatch):

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