我正在尝试让我们依赖的原生 Windows 构建工作librsvg-2
。它已通过vcpkg正确安装。我们通常使用 cmake 构建并制作了一个自定义模块来找到这个库。这在 unix 世界中非常有效,但不适用于 Windows 并且针对 Debug 构建或 Release 构建(来自 Visual Studio)。d
这是因为实际的 lib 文件在 Windows 上以 a 为后缀。
这是我们的FindLibRSVG.cmake
include(LibFindMacros)
libfind_package(LibRSVG Cairo)
libfind_package(LibRSVG GDK-PixBuf)
libfind_pkg_detect(LibRSVG librsvg-2.0
FIND_PATH librsvg/rsvg.h PATH_SUFFIXES librsvg-2 librsvg-2.0
FIND_LIBRARY rsvg-2
)
libfind_process(LibRSVG)
为了让构建在 Windows 上运行,我必须为我们的 cmake 命令指定一个标志,如下所示:
cmake .. -DLibRSVG_LIBRARY=./vcpkg_installed/x64-windows/debug/lib/rsvg-2.40d.lib
请注意d
图书馆末尾的 。
我知道有一个SelectLibraryConfigurations
可用的 cmake 模块,但我不太确定如何正确使用它。
我想要实现的是能够在调试模式下构建而无需提供此标志。