Line 120 of lib/CMakeLists.txt is as following:
target_include_directories(${clspv_lib} PUBLIC ${CLSPV_INCLUDE_DIRS})
Currently, I've seen a variable CLSPV_INCLUDE_DIRS containing:
- Directory
include on root directory which SHOULD be public.
- Directory prefixed on build which SHOULD be private.
This is an brief of fix in my opinion:
# The include directory which SHOULD be public.
target_include_directories(
${clspv_lib} INTERFACE
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/../include/> # Include directory on build state
$<INSTALL_INTERFACE:include/> # include directory as installed.
)
# The include directory which SHOULD be private.
target_include_directories(
${clspv_lib} PRIVATE
${CLSPV_INCLUDE_DIRS}
)