What is the meaning of the keyword PUBLIC
, PRIVATE
, and INTERFACE
related to CMake\'s target_include_directories
?
The INTERFACE, PUBLIC and PRIVATE keywords are required to specify the scope of the following arguments. PRIVATE and PUBLIC items will populate the INCLUDE_DIRECTORIES property of < target >. PUBLIC and INTERFACE items will populate the INTERFACE_INCLUDE_DIRECTORIES property of < target >. The following arguments specify include directories.
From the documentation: http://www.cmake.org/cmake/help/v3.0/command/target_include_directories.html
To rephrase the documentation with my own words: