title: project lib depends on package. How to expose interface
body: <p>I have downloaded and compiled boost.
  I have installed it in a designated directory and created appropriate BoostConfig.cmake file.</p>
  
  <p>I have a lib project called lib1 which uses boost and finds it with find_package(...).</p>
  
  <p>This is all very well and with the appropriate CMAKE_PREFIX_PATH boost is found and used. </p>
  
  <p>lib1 uses boost by with:</p>
  
  <pre><code>include_directories(${boost_INCLUDE_DIRS})
  #no boost libs are used, thus no target_link_libraries(...)
  </code></pre>
  
  <p>The above all works.
  Now I have a project called project1.
  Project1 uses lib1 and includes it with:</p>
  
  <pre><code>add_subdirectory(lib1)
  </code></pre>
  
  <p>And links with:</p>
  
  <pre><code>target_link_libraries(project1 lib1)
  </code></pre>
  
  <p>compiling does however fail because project1 cannot find the boost headers included in lib1.</p>
  
  <p>I see two immediate solutions to this:
  1: Include boost headers1 explicitly in project1. 
  2: Include boost headers in lib1 with include_directories(lib1 PUBLIC ${boost_INCLUDE_DIRS})</p>
  
  <p>I do not like solution 1 because I would like to just include lib1 and then let the system work out all dependencies in lib1</p>
  
  <p>I do not like solution 2 because that effectively makes boost includes a part of the lib1 includes.</p>
  
  <p>So what is the best/official way of achieving this package dependency of a subproject (lib1)?</p>
  
  <p>Regards
  Klaus</p>