Diciamo che c'è seguente struttura di directory:cmake: aggiungere dipendenza non in sottodirectory
root
|
+--projects
| |
| +-test
| |
| +-CMakeFiles.txt
|
+--libs
|
+-testlib
|
+-CMakeFiles.txt
test contiene CMakeFiles.txt e testlib contiene anche CMakeFiles.txt. "test" produce eseguibile e "testlib" produce una libreria statica.
Voglio "test" per il collegamento con "testlib" senza utilizzare i collegamenti simbolici e senza spostare la libreria "testlib" nella sottodirectory all'interno di "test".
Perché "testlib" non è una sottodirectory di "test", non posso fare
add_subdirectory("../../libs/testlib")
In CMakeFiles.txt di prova - CMake si lamenterà "testlib" non essere in sottodirectory "test" .
Inoltre, poiché il sistema ha diversi compilatori diversi, non posso semplicemente installare le librerie "testlib" in una sorta di directory centrale, quindi voglio test per compilare la copia locale di testlib e link con esso (cioè come se testlib fosse una sottodirectory). Voglio anche che il progetto "test" ricostruisca automaticamente "testlib" se è stato modificato.
Quindi, come posso affrontarlo? cmake 2.8.4, winxp sp3.
Grazie - questo è esattamente quello che mi serviva. – SigTerm
@Fraser - È possibile specificare la directory binaria in CMakeFile di testlib_build? – tower120
@ tower120 - No, dovresti specificarlo nella chiamata 'add_subdirectory'. – Fraser