I have created a "self-contained" C++ shared library that uses two additional libraries, namely OpenCL and Boost C++. I used CMake for this purpose.
Ideally, the library would be self-contained, i.e., external applications would not have to be explicitly linked to OpenCL and Boost. Instead they would just link to my library.
However, compiling an external application with g++ (and not using CMake) requires that the user is aware of the location of the header files, for both OpenCL and Boost, in addition to specifying them explicitly (with -I*sub/library/path*).
Is there a way to make CMake generate a library that encloses the paths for the headers that belong to the sub-libraries? This way the user would just have to link to my library and not be responsible for providing the file path for the sub-library headers.
Thanks