CMake工具链包含多个文件

问题描述 投票:3回答:1

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

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不仅两次打印信息,还声称在此之后第三次找不到包含的文件。

有任何想法吗?

cmake multiple-files toolchain
1个回答
3
投票

不仅cmake打印信息两次

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

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

提供绝对路径。

© www.soinside.com 2019 - 2024. All rights reserved.