[CMake] How to set path to library header files?

Stephen Kelly steveire at gmail.com
Wed Dec 3 19:17:59 EST 2014


Chris Johnson wrote:

> Yes, by adding another directory between my top-level ./src/ directory and
> ./mylib, I can cause the example to fail.  I understand now that the
> include_directory() directive really has no hidden intelligence to it at
> all, as I had mistakenly believed.  It's just a path.

I'm curious: What hidden intelligence did you expect?

> However, I don't really want to have to go around to all my executables
> and add a bunch of relative paths based on which libraries they use, and
> where they are located in the tree.

Use PUBLIC or INTERFACE target_include_directories for that.

And please really go ahead and read 

 http://www.cmake.org/cmake/help/v3.1/manual/cmake-buildsystem.7.html

> 
> Is there some way that I can instead do something like force the install
> of the libraries to happen before the build of the programs which depend
> upon them?

Instead, use target_include_directories, as your initial example did to use 
different directories for the build and install locations.

Thanks,

Steve.




More information about the CMake mailing list