У меня возникла проблема с созданием конкретных проектов Visual Studio из дерева исходных кодов CMake. Immagine мы имеем несколько целей в разных подкаталогах. В одном подкаталоге мы инициируем новый проект (и решение). Проекты в этом проекте должны быть частью ALL_BUILD, но не в родительском ALL_BUILD.Вложенные проекты и цели CMake
Короче:
project(Main)
add_executable(MainApplication ...)
target_link_libraries(MainApplication PRIVATE Library_A)
add_subdirectory(Library_A)
add_library(Library_A STATIC ...)
add_subdirectory(Other_Related_Stuff_Using_MainApplication)
project(OtherRelatedStuff)
add_custom_target(OtherTarget ... DEPENDS MainApplication)
Теперь с помощью генератора Visual Studio мы получаем два Решение файлов. Это правильно и правильно. В обоих решениях мы имеем эти три проекта (поскольку OtherReleatedStuff зависит от создания MainApplication, а OtherRelatedStuff является частью Main-Project).
Теперь: ALL_BUILD создает все проекты.
Когда я установил
set_target_properties(OtherTarget PROPERTIES EXCLUDE_FROM_ALL 1 EXCLUDE_FROM_DEFAULT_BUILD 1)
... в обоих решениях OtherTarget является отключена.
Что я хотел бы сделать, это:
Решение 1: В Main.Sln должно быть не OtherTarget. В OtherRelatedStuff.sln может быть MainApplication, но не нужно строить. Возможно, также не должно быть MainApplication.
Решение 2: В Main.Sln, OtherTarget никогда не должны строить (исключены из сборки). В OtherRelatedStuff.sln, OtherTarget должен строить, но зависимости не должны или должны быть даже видимыми.
Есть ли решение для этого?