如果Cmake中的声明不起作用

时间:2016-07-07 13:24:52

标签: cmake

你好我有以下代码,我希望如果库不存在cmake会抛出错误

find_library( lx
          NAMES libx.a
          HINTS "/home/username/HDF_SOURCES/lib")
if(NOT lx)
    message(FATAL_ERROR "libx.a not found")
endif()

我也试过if(lx-NOTFOUND)但cmake成功运行,即使库不存在。 ! ?

令人困惑的部分是如果我用if(lx)更改循环并且库路径错误而不是抛出错误。这怎么可能 ?我错误地理解了什么吗?

我正在关注this回答

1 个答案:

答案 0 :(得分:0)

添加NOT_DEFAULT_PATH解决了这个问题,现在它的行为完全符合它的原因

find_library( lx
          NAMES lib.a
          HINTS "/home/username/lib"
          NO_DEFAULT_PATH)

if (NOT lx)
    message(FATAL_ERROR "lib.a not found")
endif()