<div dir="ltr"><div dir="ltr">Hi,<br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Oct 11, 2019 at 9:33 PM Michael Ellery <<a href="mailto:mellery451@gmail.com">mellery451@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I’d like to make sure I understand two different aspects of header files management for libraries:<br>
<br>(1) typically you can add header files to target_sources, but it’s only helpful for IDEs..so that the IDE will show the header files in its sources list, correct?. In theory, cmake does not actually need header files explicitly specified for dependency tracking, although I guess listing them makes it explicit.<br></blockquote><div><br></div><div>yep, correct<br></div><div> <br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>(2) setting the PUBLIC_HEADER property for a target then makes header files available for installation via the PUBLIC_HEADER destination. Is this the preferred way to install the library interface/public headers? How do you handle a header directory hierarchy — for example maybe you have detail and impl subdirectories if you are following boost/stdlib conventions.<br>
<br></blockquote><div><br></div><div>Nowadays this feature useless if you have a directory hierarchy %( So pity...<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">I found Craig’s article about target_sources very helpful (<a href="https://crascit.com/2016/01/31/enhanced-source-file-handling-with-target_sources/" rel="noreferrer" target="_blank">https://crascit.com/2016/01/31/enhanced-source-file-handling-with-target_sources/</a>), but I don’t think it addresses the PUBLIC_HEADER installation use case.<br></blockquote><div><br></div><div>Yep, it describes a trivial ("Hello World" level) projects.</div><div><br></div><div>Some time ago I've started a discussion about improvements to `target_sources` addressed to resolve directory hierarchy install problem, but it ends w/ no outcome... %(</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>Thanks,<br>Mike Ellery<br>-- <br>
<br>Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" rel="noreferrer" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>CMake Support: <a href="http://cmake.org/cmake/help/support.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/support.html</a><br>CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" rel="noreferrer" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
<br>Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>Follow this link to subscribe/unsubscribe:<br>
<a href="https://cmake.org/mailman/listinfo/cmake" rel="noreferrer" target="_blank">https://cmake.org/mailman/listinfo/cmake</a><br>
</blockquote></div></div>