[CMake] CHECK_INCLUDE_FILES ignores CMAKE_FIND_ROOT_PATH, but should it?
Alexander Neundorf
a.neundorf-work at gmx.net
Thu Jan 20 13:09:49 EST 2011
On Monday 10 January 2011, Bjørn Forsman wrote:
> Hi all,
>
> I just found out that CHECK_INCLUDE_FILES ignores CMAKE_FIND_ROOT_PATH. The
> documentation for CHECK_INCLUDE_FILES says:
>
> ...
> The following variables may be set before calling this macro to
> modify the way the check is run:
>
> CMAKE_REQUIRED_FLAGS = string of compile command line flags
> CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
> CMAKE_REQUIRED_INCLUDES = list of include directories
>
> So it seems intentional. But wouldn't it make sense to let
> CHECK_INCLUDE_FILES look in CMAKE_FIND_ROOT_PATH? Or maybe more precise,
> give the compiler include flags for
> CMAKE_FIND_ROOT_PATH/{include/,usr/include}? It just seems wrong to me that
> include files in CMAKE_FIND_ROOT_PATH can be ignored like that and it
> destroys the meaning of CMAKE_FIND_ROOT_PATH. Comments?
>
> Is maybe CHECK_INCLUDE_FILES deprecated and FIND_PATH/FIND_FILE is the way
> to go?
check_include_files() is there to check whether header files in the compilers
system include path exist, i.e. which are found without any -I switches.
So, from that POV, the behaviour is ok.
Can I actually tell the compiler/gcc to ignore its standard include dirs ?
What header files are you testing ?
From libc or from some other library ?
> I'm using CMake 2.8.2.
That behaviour didn't change recently.
Alex
More information about the CMake
mailing list