[cmake-developers] Issuing errors for faulty INTERFACE_INCLUDE_DIRECTORIES

Stephen Kelly steveire at gmail.com
Mon Mar 25 11:32:56 EDT 2013


Brad King wrote:

> On 03/25/2013 05:57 AM, Stephen Kelly wrote:
>> Stephen Kelly wrote:
>>> I've pushed the error-on-exported-missing-include-dir branch to my
>>> clone.
> 
> Why does the test need CMAKE_OMIT_INCLUDES_CHECK?

Without it I get 

  Target "testSharedLibRequired" INTERFACE_INCLUDE_DIRECTORIES property
  contains path 
"/home/stephen/dev/src/cmake/Tests/ExportImport/build/Export"
  which is prefixed in the build directory.

because I was lazy when adding the test for it:

 set_property(TARGET testSharedLibRequired APPEND PROPERTY
   INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_BINARY_DIR}"
                                 "${CMAKE_CURRENT_SOURCE_DIR}" 
 )

I'm fine with declaring such lazyness out of scope, installing the files 
needed from those dirs instead, and removing the OMIT variable and 
functionality.

> 
>> I'm also not sure if the check for '..' in the path is the right way to
>> check this, whether symlinks need to be considered, what the result on
>> Windows would be if the two directories are on different drives, and
>> whether windows virtual drives need to be considered.
> 
> There are other places that we check for paths under the source/build
> trees, such as:
> 
>  
http://cmake.org/gitweb?p=cmake.git;a=blob;f=Source/cmLocalGenerator.cxx;hb=v2.8.10.2#l2485
> 

Thanks, I'll look into that a bit later.

Steve.





More information about the cmake-developers mailing list