CMake: Добавить внешний проект, но исключить из целевого "все"

Можно ли добавить внешний проект в CMake, но исключить его из цели сборки all?

Я просмотрел параметр EXCLUDE_FROM_ALL, который используется с ADD_EXECUTABLE, но я не думаю, что это работает с внешним проектом.

В качестве альтернативы, я был бы рад, если бы смог изменить цель по умолчанию для CMake, но я думаю, что это жестко закодировано до all.

Для проекта, над которым я работаю, я создаю Unix Makefile с CMake, и сейчас я использую CMake версии 2.8.10.2.

Ответ 1

Даже если опция EXCLUDE_FROM_ALL не используется при добавлении цели командой ExternalProject_add, ее можно активировать ретроактивно, установив свойство EXCLUDE_FROM_ALL для объекта внешнего проекта, то есть:

ExternalProject_add(MyExternal
  URL ... )
set_target_properties(MyExternal PROPERTIES EXCLUDE_FROM_ALL TRUE)