For the reasons irrelevant to mention I would like to be able to include multiple files into toolchain file. Lets say my toolchain contains following:
message(STATUS "file1 is ok")
include(./build/file2)
the file2 contains identification line:
message(STATUS "file2 is ok")
the CMakeLists.txt contains:cmake_minimum_required (VERSION 2.8.8)
project (pro)
message(STATUS "cmakelists.txt is ok")
I call it using following command:cmake -DCMAKE_TOOLCHAIN_FILE=../../build/file1 ../../
Now, I would expect the following output:-- file1 is ok
-- file2 is ok
-- cmakelists.txt is ok
Yet i become this:-- 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!
Not only cmake prints the information twice, it also claim it cannot find included files at third time after that.
Any ideas?
解决方案Not only cmake prints the information twice
It's normal. During configuration several steps performed. On every step toolchain file used.
it also claim it cannot find included files at third time after that. Any ideas?
Use absolute path.