gpt4 book ai didi

find - cmake find_path/find_library 检查失败

转载 作者:行者123 更新时间:2023-12-01 23:14:10 25 4
gpt4 key购买 nike

我正在使用 CMake 2.8.2版本。该项目使用了大量外部文件和自定义库(无法通过 find_package 获得),并且有一长串元素,如下所示:

find_path(XXX_INCLUDE_DIR XXX.h /XXX/include)
if (XXX_INCLUDE_DIR)
message(STATUS "Includes (XXX) found in ${XXX_INCLUDE_DIR}")
else()
message(FATAL_ERROR "Includes (XXX) not found")
endif()

脚本中有 20 多个这样的东西 - 看起来不太好。不幸的是,根据文档, find_path 和 find_library 都没有一个 REQUIRED 选项可以在这里完成工作(就像它对 find_package 所做的一样 - 如果找不到,脚本将停止)。您知道如何缩短 CMake 脚本代码吗?有点像

find_path(XXX_INCLUDE_DIR XXX.h /XXX/include REQUIED)

或者类似的东西会很棒。

最佳答案

将它们放入您的自定义 FindXXX.cmake 模块中。阅读 docs看看 FindPNG.cmake 举个例子。将它们放入 <project>/cmake/FindXXX.cmake (或类似),然后将包含这些文件的目录添加到 CMAKE_MODULE_PATH并使用 find_package() ,例如

list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")

find_package(XXX REQUIRED)

关于find - cmake find_path/find_library 检查失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14624865/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com