Vì vậy, tôi đã thiết lập một metaproject, có nghĩa là tôi có một thư mục (thư mục gốc) có chứa nhiều thư mục con, mỗi trong số đó là một dự án cmake (với một cmakelists hợp lệ). Các cmakelists trong thư mục gốc nhập khẩu các tiểu dự án bằng lệnh cmake add_subdirectory.Làm thế nào để tránh xung đột tên trong các tiểu dự án cmake?
Mỗi tiểu dự án xác định mục tiêu riêng (thư viện và tệp thực thi) cũng như mục tiêu "kiểm tra" thực thi bộ thử nghiệm cho dự án đó và "tài liệu" chạy doxygen.
Vấn đề của tôi là CMake không hiểu rằng mục tiêu kiểm tra và tài liệu là địa phương cho từng dự án và do đó phàn nàn về các xung đột về tên.
Vì vậy, câu hỏi của tôi là, có cách nào để hiểu rõ rằng các mục tiêu này là cục bộ cho từng dự án không?
Vâng, tôi đang tìm kiếm một thứ như "một không gian tên trên mỗi dự án" loại giải pháp, nhưng điều đó dường như không tồn tại trong cmake, vì vậy tôi sẽ sử dụng giải pháp của bạn, cảm ơn! –
@ Tóm tắt-Sky về mặt kỹ thuật, bạn có thể tự mình sử dụng quy ước không gian tên. Ví dụ: tiền tố tất cả các mục tiêu của dự án theo tên dự án. – ibizaman
@ibizaman Đó là whay tôi đã kết thúc, bằng cách sử dụng macro để tự động thêm tiền tố. –