I have a top level cmake toolchain file and I want it to include another file.
If I give the include a string filename it works. However, if I try to make the
filename a variable, it can no longer find the included file. It appears cmake
is stripping the path.
The following works fine...
linux-gnu-x86_64.cmake:
include("/src/toolchains/linux-common.cmake")
however, if I do the following it does not..
linux-gnu-x86_64.cmake:
set(TOOLCHAIN_COMMON "/src/toolchains/linux-common.cmake")
message(STATUS "TOOLCHAIN_COMMON: ${TOOLCHAIN_COMMON}")
include("${TOOLCHAIN_COMMON}")
It fails:
-> cmake -DCMAKE_TOOLCHAIN_FILE=/src/toolchains/linux-gnu-x86_64.cmake
-- TOOLCHAIN_TOP: /src/toolchains/linux-gnu-x86_64.cmake
-- TOOLCHAIN_COMMON: /src/toolchains/linux-common.cmake
-- The C compiler identification is GNU
-- The CXX compiler identification is GNU
-- Check for working C compiler: /usr/bin/gcc
CMake Error at /src/toolchains/linux-gnu-x86_64.cmake:18 (INCLUDE):
include could not find load file:
/linux-common.cmake
As you can see the from the status output, the path is the same as the first
example. However, it appears cmake is stripping it prior to actually including
it.
Now, if I change the include as follows, it works... but this seems icky.
include("${${TOOLCHAIN_COMMON}}")
Any insight into why this behavior is occurring?
Thanks,
Terrence
--
Powered by www.kitware.com
Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html
Please keep messages on-topic and check the CMake FAQ at:
http://www.cmake.org/Wiki/CMake_FAQ
Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake