Tôi đang sử dụng cmake để biên dịch một trong projets công việc của tôi, đây là thỏa thuậnCMake: nhiều tiểu dự án sử dụng cùng một thư viện tĩnh
-
client/
CMakeLists.txt
server/
CMakeLists.txt
libs/
libstuff/
CMakeLists.txt
CMakeLists.txt
Vì vậy, tôi muốn để có thể biên dịch mỗi tiểu dự án riêng lẻ, và xây dựng cả máy khách và máy chủ từ thư mục gốc.
Giả sử máy khách và máy chủ cần có phần bổ sung.
Tôi đã cố gắng sử dụng "add_subdirectory" với đường dẫn của lib trong cả máy khách và máy chủ CMakeLists.txt, nó hoạt động khi bạn biên dịch máy chủ hoặc máy khách, nhưng nếu bạn cố gắng chạy cả hai từ thư mục gốc:
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.
Vì vậy, tôi là loại w/cmake mới và tôi không chắc mình nên làm gì, tôi có nên sử dụng add_dependencies không?
Nhờ sự giúp đỡ của bạn,
ý của bạn là gì với "biên dịch riêng"? Nếu bạn xây dựng một dự án VS hoặc makefile, bạn có thể chọn dự án nào để biên dịch ... – Philipp