Every cmake library should expose the code they choose to expose. For example, if you have a library you should do this, inside the library
target_include_directories(
${PROJECT_NAME}
PUBLIC inc/public/
PRIVATE src/)
Ideally, you even put another subfolder in the PUBLIC subfolder that contains the name of the library, so that when you include it, it looks like this:
> add_subdirectory(vendor/machineid)
> include_directories(vendor/machineid/include)
Every cmake library should expose the code they choose to expose. For example, if you have a library you should do this, inside the library
target_include_directories( ${PROJECT_NAME} PUBLIC inc/public/ PRIVATE src/)
Ideally, you even put another subfolder in the PUBLIC subfolder that contains the name of the library, so that when you include it, it looks like this:
#include "MyLibrary/Util.h"