KhronosGroup / KhronosGroup/SPIRV-Cross

CMake: The following imported targets are referenced, but are missing

Open
#2,370 3 comments 0 reactions 0 assignees View on GitHub
question
Dominant language
GLSL
Stars
2.5k
Forks
713
Avg merge
2d 18h
Merged PRs (30d)
16

Description

## Description

My build error

```
Preset CMake variables:

CMAKE_BUILD_TYPE="Debug"
CMAKE_CXX_COMPILER="g++"
CMAKE_C_COMPILER="gcc"
CMAKE_EXPORT_COMPILE_COMMANDS="ON"
CMAKE_TOOLCHAIN_FILE="C:\src\vcpkg/scripts/buildsystems/vcpkg.cmake"
VCPKG_TARGET_TRIPLET="x64-mingw-dynamic"

-- GLM: Version 1.0.2
-- GLM: Build with C++ features auto detection
-- Including Win32 support
volk: using Vulkan_INCLUDE_DIRS from FindVulkan module
CMake Error at C:/src/vcpkg/scripts/buildsystems/vcpkg.cmake:859 (_find_package):
Found package configuration file:

C:/src/vcpkg/installed/x64-mingw-dynamic/share/spirv_cross_cpp/spirv_cross_cppConfig.cmake

but it set spirv_cross_cpp_FOUND to FALSE so package "spirv_cross_cpp" is
considered to be NOT FOUND. Reason given by package:

The following imported targets are referenced, but are missing:
spirv-cross-glsl

Call Stack (most recent call first):
src/runtime/CMakeLists.txt:187 (find_package)

-- Configuring incomplete, errors occurred!
ninja: error: loading 'build.ninja': The system cannot find the file specified.
```

That is why? I follow everything that vcpkg need.

## Build Config

My CMakeLists.txt

```CMakeLists
find_package(spirv_cross_core CONFIG REQUIRED)
target_link_libraries(${RUNTIME_NAME} PUBLIC spirv-cross-core)

find_package(spirv_cross_cpp CONFIG REQUIRED)
target_link_libraries(${RUNTIME_NAME} PUBLIC spirv-cross-cpp)

find_package(spirv_cross_glsl CONFIG REQUIRED)
target_link_libraries(${RUNTIME_NAME} PUBLIC spirv-cross-glsl)

find_package(spirv_cross_hlsl CONFIG REQUIRED)
target_link_libraries(${RUNTIME_NAME} PUBLIC spirv-cross-hlsl)

find_package(spirv_cross_msl CONFIG REQUIRED)
target_link_libraries(${RUNTIME_NAME} PUBLIC spirv-cross-msl)

find_package(spirv_cross_reflect CONFIG REQUIRED)
target_link_libraries(${RUNTIME_NAME} PUBLIC spirv-cross-reflect)

find_package(spirv_cross_util CONFIG REQUIRED)
target_link_libraries(${RUNTIME_NAME} PUBLIC spirv-cross-util)
```

my CMakePresets.json

```json
"configurePresets": [
{
"name": "debug",
"displayName": "Debug Build with Ninja",
"description": "Debug build using Ninja generator with GCC compiler and VCPKG toolchain.",
"generator": "Ninja",
"binaryDir": "${sourceDir}/build-debug",
"cacheVariables": {
"CMAKE_EXPORT_COMPILE_COMMANDS": "ON",
"CMAKE_BUILD_TYPE": "Debug",
"CMAKE_C_COMPILER": "gcc",
"CMAKE_CXX_COMPILER": "g++",
"CMAKE_TOOLCHAIN_FILE": "$env{VCPKG_ROOT}/scripts/buildsystems/vcpkg.cmake",
"VCPKG_TARGET_TRIPLET": "x64-mingw-dynamic"
}
},
```

build bat

```bat
@echo off

cls

REM Configure a debug build
cmake --preset=debug

cd build-debug

REM Actually build the binaries
ninja -j8 -d explain

cd ..

pause
```

## Environment

vcpkg list

```
PS E:\repositories\MeowEngine> vcpkg list
assimp:x64-mingw-dynamic 5.4.2 The Open Asset import library
draco:x64-mingw-dynamic 1.5.7 A library for compressing and decompressing 3D g...
jhasse-poly2tri:x64-mingw-dynamic 2023-12-27 Sweep-line algorithm for constrained Delaunay tr...
kubazip:x64-mingw-dynamic 0.2.6 A portable, simple zip library written in C
minizip:x64-mingw-dynamic 1.3.1#1 Minizip zip file manipulation library
polyclipping:x64-mingw-dynamic 6.4.2#12 The Clipper library performs clipping and offset...
pugixml:x64-mingw-dynamic 1.14 Light-weight, simple and fast XML parser for C++...
rapidjson:x64-mingw-dynamic 2023-07-17#1 A fast JSON parser/generator for C++ with both S...
spirv-cross:x64-mingw-dynamic 1.3.290.0 SPIRV-Cross is a practical tool and library for ...
spirv-headers:x64-mingw-dynamic 1.3.290.0 Machine-readable files for the SPIR-V Registry
stb:x64-mingw-dynamic 2023-04-11#1 public domain header-only libraries
utfcpp:x64-mingw-dynamic 4.0.5 UTF-8 with C++ in a Portable Way
vcpkg-cmake-config:x64-windows 2024-05-23
vcpkg-cmake-get-vars:x64-windows 2023-12-31
vcpkg-cmake:x64-windows 2024-04-23
zlib:x64-mingw-dynamic 1.3.1 A compression library
```

Platform: Windows11
cmake version 3.29.0-rc2
vcpkg package management program version 2024-08-01-fd884a0d390d12783076341bd43d77c3a6a15658

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the failure with `cmake --preset=debug`, then inspect `src/runtime/CMakeLists.txt:187` and the generated `spirv_cross_cppConfig.cmake` under the vcpkg installation. Check how the `spirv-cross-glsl` imported target is expected to be provided by the `spirv-cross` package for the `x64-mingw-dynamic` triplet. Done means configuration completes without the missing-target error and the listed SPIRV-Cross targets resolve.

Written by the indexing model from the issue text.

Assessment

Tech stack
cmake
Domain
build-system
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
32/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.