google / google/shaderc

linking against shaderc with CMake on Windows silently fails to produce meaningful output

Open
#1,128 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
2.2k
Forks
445
Avg merge
11h 6m
Merged PRs (30d)
6

Description

The relevant contents of my CMakeLists.txt are:

```
#spirv-headers (NEEDED ONLY FOR SPIRV-TOOLS)
FetchContent_Declare(
spirv-headers
GIT_REPOSITORY git@github.com:KhronosGroup/SPIRV-Headers
GIT_TAG 1.5.3
EXCLUDE_FROM_ALL TRUE
)
FetchContent_MakeAvailable(spirv-headers)

#spirv-tools (NEEDED ONLY FOR SHADERC)
FetchContent_Declare(
spirv-tools
GIT_REPOSITORY git@github.com:KhronosGroup/SPIRV-Tools
GIT_TAG v2020.4
EXCLUDE_FROM_ALL TRUE
)
FetchContent_MakeAvailable(spirv-tools)

#glslang (NEEDED ONLY FOR SHADERC)
FetchContent_Declare(
glslang
GIT_REPOSITORY git@github.com:KhronosGroup/glslang
GIT_TAG 8.13.3743
EXCLUDE_FROM_ALL TRUE
)
FetchContent_MakeAvailable(glslang)

#shaderc
FetchContent_Declare(
shaderc
GIT_REPOSITORY git@github.com:google/shaderc.git
GIT_TAG v2020.2
EXCLUDE_FROM_ALL TRUE
)
#set(SHADERC_SKIP_INSTALL ON CACHE BOOL "" FORCE)
set(SHADERC_SKIP_TESTS ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(shaderc)
target_link_libraries(gnomes PRIVATE shaderc)

```
(my executable name is "gnomes")

Running `cmake ..` in my project's `build` folder completes without error, but produces empty `_deps\shaderc-build` and `_deps\shaderc-src` folders. (`_deps\shaderc-subbuild` _does_ have various files, but neither `shaderc.lib` nor `shaderc.h`). The resulting Visual Studio .sln has my `gnomes` project, which attempts to link to `shaderc.lib` (no leading directory), and thus fails to link when it cannot find it.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.