В настоящее время я работаю над проектом, который использует cmake. Проект имеет alsa в качестве необязательной зависимости. Таким образом, проекты CMakeLists.txt
содержат.
find_package(ALSA)
Однако я хочу, чтобы сборка никогда не строилась против alsa, даже если она установлена в моей системе. (Вроде как --without-ALSA
, который был бы в configure
)
Я хочу сделать это в параметре командной строки при запуске cmake, а не путем изменения CMakeLists.txt
Возможно ли это с помощью cmake?
EDIT:
ИЛИ было бы лучше, чтобы проект реализовал что-то вроде этого:
if(WITH_ALSA)
find_package(ALSA REQUIRED)
elseif(NOT WITHOUT_ALSA)
find_package(ALSA)
endif()
EDIT2:
В конце я использовал опцию с и без, описанную выше (edit1). Чтобы иметь немного читабельности, я определил макрос, который фактически все делает за меня.
См. FindOptionalPackage.cmake в проекте FreeRDP