[CMake] How to properly add include directories?

David Aldrich david.aldrich.ntml at gmail.com
Mon Oct 21 10:16:23 EDT 2019


Hi again,

My CMakeLists.txt file for my shared library contains:

add_library(MyLib SHARED my_source.cpp etc.)
target_include_directories( MyLib PRIVATE ../MyHeaders)

The library builds ok, but there is no dependency on directory ../MyHeaders
- touching a header file does not result in a re-compile of dependent
source files.

There's a discussion here:

https://stackoverflow.com/questions/13703647/how-to-properly-add-include-directories-with-cmake

Opinion seems divided over whether or not it is necessary to add the header
files to the list of source files for the target, e.g.:

set(SOURCES file.cpp file2.cpp ${YOUR_DIRECTORY}/file1.h
${YOUR_DIRECTORY}/file2.h)
add_library(test ${SOURCES})

Please will you tell me what is the best practice?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://cmake.org/pipermail/cmake/attachments/20191021/1dac96a8/attachment-0001.html>


More information about the CMake mailing list