Można powiedzieć, że to po strukturze katalogów:CUpewnij: dodać zależność nie w podkatalogu
root
|
+--projects
| |
| +-test
| |
| +-CMakeFiles.txt
|
+--libs
|
+-testlib
|
+-CMakeFiles.txt
Test zawiera CMakeFiles.txt i testlib zawiera również CMakeFiles.txt. "test" produkuje plik wykonywalny, a "testlib" tworzy bibliotekę statyczną.
Chcę "test" połączyć z "testlib" bez użycia dowiązań symbolicznych i bez przenoszenia biblioteki "testlib" do podkatalogu w ramach "test".
Ponieważ „testlib” nie jest podkatalog „TEST”, nie mogę zrobić
add_subdirectory("../../libs/testlib")
w teście za CMakeFiles.txt - CUpewnij będą narzekać „testlib” nie będąc w podkatalogu „test” .
Ponadto, ponieważ system ma kilka różnych kompilatorów, nie mogę po prostu zainstalować bibliotek "testlib" w jakimś centralnym katalogu, dlatego chcę, żeby test kompilował lokalną kopię testlib i link z nią (np. Tak jakby testlib był podkatalog). Chcę również, aby projekt "testowy" automatycznie przebudował "testlib", jeśli został zmieniony.
Jak mogę sobie z tym poradzić? cmake 2.8.4, winxp sp3.
Dzięki - to jest dokładnie to, co potrzebne. – SigTerm
@Fraser - Czy można określić katalog binarny w CMakeFile testlib_build? – tower120
@ tower120 - Nie, musisz to określić w wywołaniu 'add_subdirectory'. – Fraser