使用cmake下载外部库:用户如何选择?

时间:2015-03-21 10:44:18

标签: cmake

我使用CMake下载调用到我的代码中的外部库(使用External_project_add命令)。但是,我想让用户选择是否要让CMake下载这些库,或者他们是否想要手动安装它们并提供它们的路径。此外,我想让用户为每个库做出不同的选择。例如,他们可以:

  • 下载所有外部库
  • 无需下载
  • 下载一个特定的库而不是另一个库。

是否可以使用CMake执行此操作?

非常感谢!

1 个答案:

答案 0 :(得分:1)

使用option()来控制通过External_project_add构建的内容,而不是使用CMake查找模块找到的内容。例如:

option( USE_SYSTEM_GDCM "Build using the installed system GDCM" OFF)

if (USE_SYSTEM_GDCM) 
  find_package(GDCM REQUIRED)
  include(${GDCM_USE_FILE})
else (USE_SYSTEM_GDCM)
   External_project_add( ... )
endif(USE_SYSTEM_GDCM)