I have a directory structure for my C++ code which goes like this :
include_directories(x/y) affects directory scope. All targets in this CMakeList, as well as those in all subdirectories added after the point of its call, will have the path
x/y added to their include path.
target_include_directories(t x/y) has target scope—it adds
x/y to the include path for target
You want the former one if all of your targets use the include directories in question. You want the latter one if the path is specific to a target, or if you want finer control of the path's visibility. The latter comes from the fact that
target_include_directories() supports the