Я работаю над проектом среднего размера, который использует CMake. В последнее время я обнаружил странное поведение при создании файлов проекта для Visual Studio 2019. Проблема:
Пусть A
и B
будут целями. A
- это исполняемый файл, который зависит от B
, библиотеки c stati. Отношения устанавливаются с использованием target_link_libraries
.
Если я загружу этот проект в Visual Studio, мне будет представлена следующая структура каталогов:
Solution/
- Project A/
- src/
- sources_of_a.cpp
- ...
- B/ # <- WHY?
- all_sources_of_b.cpp
...
- Project B/
- src/
- sources_of_b.cpp
...
Честно говоря, я даже не знаю, как чтобы лучше описать эту проблему, не говоря уже о том, что может ее вызвать. Все, что я знаю, это то, что источники B не должны быть частью набора источников A.
Кто-нибудь знает, что происходит?
Примечательные примечания на стороне:
- B - фактически цель, импортированная через
FetchContent
& add_subdirectory
- Фактически я использую CPM вместо FetchContent; однако я попробовал только FetchContent, проблема не устранена
- Это происходит не со всеми моими целями