CMake 工具链包含多个文件

etw*_*s77 5 cmake toolchain

由于无关紧要的原因,我希望能够将多个文件包含到工具链文件中。假设我的工具链包含以下内容:

消息(状态“文件 1 没问题”)
包括(./build/file2)

file2 包含标识行:

消息(状态“文件 2 正常”)

CMakeLists.txt 包含:

cmake_minimum_required(版本 2.8.8)
项目(亲)
消息(状态“cmakelists.txt 没问题”)

我使用以下命令调用它:

cmake -DCMAKE_TOOLCHAIN_FILE=../../build/file1 ../../

现在,我希望得到以下输出:

-- 文件 1 没问题
--file2 没问题
-- cmakelists.txt 没问题

然而我明白了:

-- 文件 1 没问题
--file2 没问题
-- 文件 1 没问题
--file2 没问题
-- C 编译器标识为 Clang 5.0.0
-- CXX 编译器标识为 Clang 5.0.0
-- 检查工作的 C 编译器:/usr/bin/cc
/fullpath/build/file1:2 处的 CMake 错误(包括):
  包含找不到加载文件:
    ./build/file2
调用堆栈(最近调用优先):
  /fullpath/build/Mac/CMakeFiles/2.8.12/CMakeSystem.cmake:6(包括)
  CMakeLists.txt:2(项目)
CMake 错误:内部 CMake 错误,TryCompile 配置 cmake 失败
-- 检查工作的 C 编译器:/usr/bin/cc -- 损坏
/Applications/CMake 2.8-12.app/Contents/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 处的 CMake 错误:61(消息):
  C 编译器“/usr/bin/cc”无法编译简单的测试程序。
  它失败并显示以下输出:
  CMake 将无法正确生成此项目。
调用堆栈(最近调用优先):
  CMakeLists.txt:2(项目)
-- 配置不完整,出现错误!

CMake 不仅两次打印信息,还声称在此之后的第三次找不到包含的文件。

有任何想法吗?

小智 2

不仅cmake打印了两次信息

这是正常的:在配置过程中,会执行几个步骤。每一步都使用工具链文件。

它还声称此后第三次找不到包含的文件。有任何想法吗?

提供绝对路径。