如果外部项目无法正确构建和安装,则阻止编译代码

时间:2014-08-07 16:01:17

标签: build cmake

在构建并正确安装依赖项(外部项目)之前,有没有办法告诉CMake系统我不想进一步编译?

假设项目依赖于其他库,这些库可能存在也可能不存在于系统中。如果他们不是,我使用ExternalProject_Add下载并安装它。然而,即使配置部分正常,在您键入make之前也不会构建外部项目。现在,如果构建依赖项失败,编译代码是没有意义的。我在CMake ExternalProject_Add() and FindPackage()中发现可能添加一些依赖项会有所帮助,但是这个答案定义了配置时的依赖性,所以它与我的情况无关。

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

ExternalProject_Add将生成用于构建依赖项的自定义目标。如果您不希望构建目标,以防构建依赖项失败,则add a dependency从该目标到外部项目的目标。

ExternalProject_Add(my_external_lib [...])
add_executable(my_program [...])
add_dependencies(my_program my_external_lib)