[CMake] Antwort: Re: Re: Antwort: Antwort: Re:Antwort: Re: Toolchain with non-gcc argument format
oliver.zabel at egoproducts.com
oliver.zabel at egoproducts.com
Wed Nov 22 04:33:09 EST 2017
Hi Eric,
thanks a lot for your help! i'm going to try it on the dev mailing list.
Cheers,
Oliver
Von: Eric Noulard <eric.noulard at gmail.com>
An: oliver.zabel at egoproducts.com
Kopie: CMake Mailinglist <cmake at cmake.org>
Datum: 22.11.2017 09:49
Betreff: Re: Re: [CMake] Antwort: Antwort: Re:Antwort: Re:
Toolchain with non-gcc argument format
Hi Olivier,
Putting the list back.
You may try developer list as well.
2017-11-22 9:02 GMT+01:00 <oliver.zabel at egoproducts.com>:
Hi,
Is there really no way to override this var with a toolchain file? that
seems somehow strange to me, since CMAKE is so configurable that i can't
change "-I" to "-include=" .... what do i have to do?
I'm sorry I'm a little short in time to investigate that with you at the
moment and I hope some other people may step in.
The var "CMAKE_INCLUDE_FLAG_C" is NOT a toolchain file variable and it
won't end-up in the cache file.
AFAIK It is **only** used in compiler detection, e.g. at early stage of
project configuration when processing project(...)
or enable_language(..)
Adding new toolchain is not as flexible as adding a new **kind** of
compiler.
The knobs accessing for writing a toolchain are described here:
https://cmake.org/cmake/help/v3.10/manual/cmake-toolchains.7.html
There you can see that:
"Languages are enabled by the project() command. Language-specific
built-in variables, such as CMAKE_CXX_COMPILER, CMAKE_CXX_COMPILER_ID etc
are set by invoking the project() command."
Unless I'm wrong the toolchain mechanism does not include the capability
to change "-I" to "-include".
Now adding a new "kind" of compiler, a.k.a. compiler ID, enables you to
specify that include directive flag is " -include" (and many other things
as well)
Adding a new compiler ID requires to add files in
<CMakePrefix>/Modules/Compiler (see
https://github.com/Kitware/CMake/tree/master/Modules/Compiler)
as you can see it requires at least a couple of file to find a compiler
and one file per supported language (C, CXX, etc...)
in the C or CXX specific file you may use CMAKE_INCLUDE_FLAG_C and other
variables:
see e.g.:
https://github.com/Kitware/CMake/blob/master/Modules/Compiler/TI-C.cmake
I did never add a new kind of compiler so I hope people with more
knowlegde than me in this area will explain that part better than me.
Eric
2017-11-16 9:44 GMT+01:00 <oliver.zabel at egoproducts.com>:
I did not find the CMAKE_INCLUDE_FLAG_C in the CMake cache - is it
possible that this is somehow ignored?
This variable is used by CMake **builtin compiler** discovery and
configuration.
The file are are put in "Modules/Compiler" there is one per-langage and
per-compiler ID:
https://cmake.org/cmake/help/v3.7/variable/CMAKE_LANG_COMPILER_ID.html
I don't know the exact processing order of this set of files.
Toolchain files:
https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html
does not use or contain such variables.
--
Eric
--
Eric
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/cmake/attachments/20171122/f8d5e557/attachment.html>
More information about the CMake
mailing list