我正在使用add_library在CMAKE中导入静态库。 lib导入很好。但我也想验证。所以我这样做:
add_library(MYLIB STATIC IMPORTED)
set_target_properties(MYLIB PROPERTIES IMPORTED_LOCATION path/to/mylib.a)
#if(NOT MYLIB)
# message(FATAL_ERROR "MYLIB library not found")
#endif()
它总是返回false,即使路径正确并导入了lib也是如此。如何检查lib是否已导入?
使用Cmake 3.4.1
答案 0 :(得分:0)
由于您无论如何都在失败/停止处理,您可以通过尝试使用该库来检查它是否已导入!
如果您在导入之前确实想要检查,那么这样的事情可能是合适的:
find_library(MYLIB
NAMES mylib
PATHS
path/to/mylib.a
DOC "Find library mylib"
NO_DEFAULT_PATH)
if(NOT MYLIB)
message(FATAL_ERROR "MYLIB library not found")
endif()
如果您不介意CMake在搜索您声明的路径之前先查看所有许多默认位置,您可以删除NO_DEFAULT_PATH
。