shaderc icon indicating copy to clipboard operation
shaderc copied to clipboard

Including shaderc/CMakeLists.txt as suggested in README not working

Open lobneroO opened this issue 2 years ago • 4 comments
trafficstars

I want to use shaderc (including glslc) in my project, such that I can compile glsl shaders (including #include directives) in my code.

In the libshaderc/README.md it says:

If the external project uses CMake, then shaderc/CMakeLists.txt can be included into the external project's CMake configuration and shaderc can be used as a link target. This is the simplest way to use libshaderc in an external project.

So I went ahead and did this:

include(3rdparty/shaderc/CMakeLists.txt)
target_link_libraries(${PROJECT_NAME} PRIVATE
	shaderc_combined
)

But I get the following errors:

CMake Error at 3rdparty/shaderc/CMakeLists.txt:69 (include): include could not find requested file:

cmake/setup_build.cmake

And because of this, other errors (e.g. Unknwon CMake command "find_host_package" follow). It doesn't helpf, if I include these other cmake files in my own CMakeLists.txt either.

My project structure is

MyProj
|
|----- CMakeLists.txt
|
|----- 3rdparty/
|          |
|          | ----- shaderc/CMakeLists.txt

lobneroO avatar Sep 08 '23 11:09 lobneroO

Does it work better if you do add_subdirectory(3rdparty/shaderc) instead of include?

dj2 avatar Sep 18 '23 14:09 dj2

I have the same error. I'm using add_subdirectory and I still get the same error

AEspinosaDev avatar Oct 16 '23 21:10 AEspinosaDev

Sorry, I had gone back to using the shaderc packaged with the VulkanSDK and adding my own shader includer class, I cannot say if the add_subdirectory would have fixed my issue.

lobneroO avatar Oct 17 '23 09:10 lobneroO

Are you changing CMAKE_MODULE_PATH? It looks like it's looking for a file in the local cmake folder and is unable to find it?

dj2 avatar Oct 17 '23 13:10 dj2