używam cmake skompilować jeden z moich projets pracy, tutaj jest sprawaCWprowadä: wiele podprojekty stosując taką samą statyczną bibliotekę
-
client/
CMakeLists.txt
server/
CMakeLists.txt
libs/
libstuff/
CMakeLists.txt
CMakeLists.txt
więc chcę, aby móc skompilować każdy podprojekt indywidualnie i budować zarówno klient, jak i serwer z folderu głównego.
Załóżmy, że klient i serwer potrzebują libstuff.
Próbowałem użyć "add_subdirectory" ze ścieżką biblioteki zarówno dla klienta, jak i dla serwera CMakeLists.txt, działa przy kompilacji serwera lub klienta, ale jeśli spróbujesz uruchomić oba z katalogu głównego:
CMake Error at common/libplugin/CMakeLists.txt:33 (ADD_LIBRARY):
add_library cannot create target "plugin" because another target with the
same name already exists. The existing target is a static library created
in source directory "/home/adrien/git/r-type/common/libplugin". See
documentation for policy CMP0002 for more details.
Więc jestem trochę nowy w/cmake i nie jestem pewien, co powinienem zrobić, powinienem użyć add_dependencies?
Dzięki za pomoc,
co masz na myśli mówiąc "kompiluj oddzielnie"? Jeśli tworzysz projekt VS lub plik Makefile, możesz wybrać, który projekt skompilować ... – Philipp