Skip to content

vcpkg_fixup_cmake_targets don't fix *d.dll file path in OpenCVModules-debug.cmake #8655

@LilyWangL

Description

@LilyWangL

Describe the bug
vcpkg_fixup_cmake_targets fix files *.lib path in OpenCVModules-debug.cmake, the files *d.dll path are wrong. See this in OpenCVModules-debug.cmake:

set_target_properties(opencv_core PROPERTIES
  IMPORTED_IMPLIB_DEBUG "${_IMPORT_PREFIX}/debug/lib/opencv_cored.lib"
  IMPORTED_LOCATION_DEBUG "${_IMPORT_PREFIX}/x86/vc16/bin/opencv_cored.dll"
  )

list(APPEND _IMPORT_CHECK_TARGETS opencv_core )
list(APPEND _IMPORT_CHECK_FILES_FOR_opencv_core "${_IMPORT_PREFIX}/debug/lib/opencv_cored.lib" "${_IMPORT_PREFIX}/x86/vc16/bin/opencv_cored.dll" )

Some ports depend on opencv4 will build failed due to can't find *d.dll.

Environment

  • OS: [Windows 10]
  • Compiler: Visual Studio 2019

To Reproduce
Steps to reproduce the behavior:

  1. ./vcpkg install dbow2
  2. See error
CMake Error at F:/Lily/issue8393/vcpkg/installed/x86-windows/share/opencv/OpenCVModules.cmake:164 (message):
  The imported target "opencv_core" references the file

     "F:/Lily/issue8393/vcpkg/installed/x86-windows/x86/vc16/bin/opencv_cored.dll"

  but this file does not exist.  Possible reasons include:

  * The file was deleted, renamed, or moved to another location.

  * An install or uninstall procedure did not complete successfully.

  * The installation package was faulty and contained

     "F:/Lily/issue8393/vcpkg/installed/x86-windows/share/opencv/OpenCVModules.cmake"

  but not all the files it references.

Call Stack (most recent call first):
  F:/Lily/issue8393/vcpkg/installed/x86-windows/share/opencv/OpenCVConfig.cmake:126 (include)
  F:/Lily/issue8393/vcpkg/scripts/buildsystems/vcpkg.cmake:263 (_find_package)
  CMakeLists.txt:36 (find_package)
-- Configuring incomplete, errors occurred!

Expected behavior
Install successfully.

Failure logs
config-x86-windows-out.log

Metadata

Metadata

Assignees

Labels

category:vcpkg-bugThe issue is with the vcpkg system (including helper scripts in `scripts/cmake/`)

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions