-
Notifications
You must be signed in to change notification settings - Fork 6.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[cairo] CMake does not copy necessary dlls after glib/gtk port update. #17595
Comments
Use FindPkgConfig together with the |
Thanks, I've added the pkgconf to the manifest file, and I changed my CMakeLists.txt to this: find_package(PkgConfig)
pkg_check_modules(Cairo REQUIRED IMPORTED_TARGET cairo)
target_link_libraries(my_target PUBLIC PkgConfig::Cairo) But still there is no dlls next to the executable. The target receives cairo transitively, but that should be fine, because the headers are found and the link works. |
Here are the variables set by pkgconfig (changed the project path to ${workspaceFolder}):
|
Add this patch into the portfile of cairo and rebuild cairo. |
Or you can try out #17596 |
@ras0219-msft: Is it possible to bake a check into the vcpkg-tool so this can be caught earlier? |
Thanks @Neumann-A, this works now. |
Hmm. I think the right check would be something like "for all DLLs, is there at least one reference from a .lib file to it?". We can't simply ask "are all references satisfied" because it's unfortunately normal to depend upon external stuff like kernel32 et al. |
Describe the bug
After PR #13100, I'm not able to run my application becaue, CMake does not copy dlls next to the executeble. I'm using my own CMake module file (Findcairo.cmake) in order to setup cairo, but this does not work anymore. After configuring, the library is called cairo.lib (earlier this was cairod.lib for debug) and the dll is cairo-2.dll. If I start my application, the windows tells me, that there is no libcairo-2.dll.
My module file is probably not the best, but can anyone help me how to set this up?
Environment
Here's my Findcairo.cmake file:
The text was updated successfully, but these errors were encountered: