在预期时不要抛出错误

时间:2015-06-30 16:41:01

标签: cmake

我的FindEigen.cmake如下:

find_package(Eigen REQUIRED)

这是从我的CMakeLists.txt文件中调用的,如下所示:

Could NOT find EIGEN (missing:  EIGEN_INCLUDE_DIR)

我从cmake gui回来的消息是:

ii = 0:0.1:3

但这不是错误,配置成功完成。我的理解是,REQUIRED选项意味着如果找不到包,cmake应该抛出错误并停止,并且FIND_PACKAGE_HANDLE_STANDARD_ARGS方法应该强制执行。但这对我来说并没有发生。任何想法为什么不呢?

2 个答案:

答案 0 :(得分:1)

我有一个类似的问题,这是由于find_package(Eigen REQUIRED)find_package_handle_standard_args(EIGEN)中本征库使用的不同命名引起的。例如。您需要将EIGEN更改为Eigen

在两个地方使用相同的命名应该可以解决此问题,并可以使用@debris建议的REQUIRED_VARS

答案 1 :(得分:0)

尝试使用required_vars

FIND_PACKAGE_HANDLE_STANDARD_ARGS(EIGEN REQUIRED_VARS EIGEN_INCLUDE_DIR)