KhronosGroup / KhronosGroup/SPIRV-Cross
CMake: The following imported targets are referenced, but are missing
- 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