CMake工具链包含多个文件

时间:2013-11-08 08:31:42

标签: cmake multiple-files toolchain

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

message(STATUS "file1 is ok")
include(./build/file2)

file2包含标识行:

message(STATUS "file2 is ok")

CMakeLists.txt包含:

cmake_minimum_required (VERSION 2.8.8)
project (pro)
message(STATUS "cmakelists.txt is ok")

我使用以下命令调用它:

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

现在,我希望得到以下结果:

-- file1 is ok
-- file2 is ok
-- cmakelists.txt is ok

然而我明白了:

-- file1 is ok
-- file2 is ok
-- file1 is ok
-- file2 is ok
-- The C compiler identification is Clang 5.0.0
-- The CXX compiler identification is Clang 5.0.0
-- Check for working C compiler: /usr/bin/cc
CMake Error at /fullpath/build/file1:2 (include):
  include could not find load file:
    ./build/file2
Call Stack (most recent call first):
  /fullpath/build/Mac/CMakeFiles/2.8.12/CMakeSystem.cmake:6 (include)
  CMakeLists.txt:2 (PROJECT)
CMake Error: Internal CMake error, TryCompile configure of cmake failed
-- Check for working C compiler: /usr/bin/cc -- broken
CMake Error at /Applications/CMake 2.8-12.app/Contents/share/cmake-2.8/Modules/CMakeTestCCompiler.cmake:61 (message):
  The C compiler "/usr/bin/cc" is not able to compile a simple test program.
  It fails with the following output:
  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:2 (project)
-- Configuring incomplete, errors occurred!

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

有什么想法吗?

1 个答案:

答案 0 :(得分:3)

  

不仅cmake打印信息两次

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

  

它还声称在此之后第三次找不到包含的文件。有什么想法吗?

提供绝对路径。