CMake忽略CMake_模块_路径
我无法让CMake的CMake忽略CMake_模块_路径,cmake,include,Cmake,Include,我无法让CMake的include()语句识别CMake\u模块\u路径。我希望这样做: list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake") include(Foo.cmake) 使用此样式的目录树: . ├── cmake │ └── Foo.cmake ├── CMakeLists.txt 但是,我得到了一个错误: include could not find load file: Foo.cmake
include()
语句识别CMake\u模块\u路径
。我希望这样做:
list(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake")
include(Foo.cmake)
使用此样式的目录树:
.
├── cmake
│ └── Foo.cmake
├── CMakeLists.txt
但是,我得到了一个错误:
include could not find load file:
Foo.cmake
根据和的文档,我认为这应该是可能的
如果我保持同一棵树,但修改了include
,则可以正常加载:
include(cmake/Foo.cmake)
我错了还是做错了什么
谢谢 当使用
include
命令搜索文件时,它应该是一个模块名称-而不带.cmake
扩展名-用于应用cmake\u模块路径
变量:
# This searches a *module* and uses 'CMAKE_MODULE_PATH' variable
include(Foo)
# This searches a *file* and doesn't use 'CMAKE_MODULE_PATH' variable
include(Foo.cmake)
包含
函数的签名
包括([可选][结果变量]
[无政策范围])
表示其第一个参数可以是文件或模块
而CMAKE\u MODULE\u PATH
变量仅在搜索模块时应用:
如果指定的是模块而不是文件,则首先在cmake\u模块路径
中搜索名为.cmake
的文件,然后在cmake模块目录中搜索
文件名-
.cmake
-表明模块名不应该有.cmake
后缀。它应该是一个模块名-,没有.cmake
扩展名-当使用包含命令搜索文件时,对于applycmake\u模块路径
变量:
# This searches a *module* and uses 'CMAKE_MODULE_PATH' variable
include(Foo)
# This searches a *file* and doesn't use 'CMAKE_MODULE_PATH' variable
include(Foo.cmake)
包含
函数的签名
包括([可选][结果变量]
[无政策范围])
表示其第一个参数可以是文件或模块
而CMAKE\u MODULE\u PATH
变量仅在搜索模块时应用:
如果指定的是模块而不是文件,则首先在cmake\u模块路径
中搜索名为.cmake
的文件,然后在cmake模块目录中搜索
文件名-.cmake
-表明模块名不应该有.cmake
后缀。@Tsyarev非常感谢!你的第二个建议奏效了-搜索Foo
而不是Foo.cmake
@Tsyarev非常感谢!你的第二个建议奏效了——搜索Foo
,而不是Foo.cmake
。