В нашем рабочем процессе мы можем иметь модуль A, состоящий из нескольких файлов заголовков, модуль A, не создающий двоичный файл (сторона примечания: очевидно, он будет использоваться другими модулями, которые включают некоторые заголовки из модуля A в создавать двоичные файлы).
Хорошим примером будет библиотека только для заголовков, для которой CMake 3 обеспечивает хорошую поддержку благодаря понятию библиотеки INTERFACE
(см. этот ответ SO)., и CMake документация об этой функции).
Мы можем сделать целевую библиотеку интерфейса из модуля A:
add_library(module_A INTERFACE)
Это дает нам все приятные черты целей CMakes (можно использовать его как другую целевую зависимость, экспортировать ее, передавать транзитные требования и т.д.).
Но в этом случае заголовки в модуле A не отображаются в нашей среде IDE (Xcode, но мы ожидаем, что она будет одинаковой с большинством/каждой другой IDE).
Это является серьезным недостатком в рабочем процессе, так как нам нужны файлы, составляющие модуль A, который будет показан в среде IDE для издания. Можно ли это достичь?