CMake find_library可以搜索其他“驱动器”吗?

时间:2019-11-12 09:48:59

标签: c++ windows cmake

上下文:

  • Windows 10
  • CMake 3.13

我有一个Findxxxx.cmake脚本运行了一段时间,就像一个咒语。
我想更改存储依赖项的目录,因此我将其复制到已安装的网络共享中(即在另一个“字母”下)。我相应地更新了PATH,但是运气不好,我的依赖关系消失了。

我还原了PATH以指向原始依赖项位置(从未删除过),并且它再次开始查找库。

由于我只是将依赖关系目录复制到另一个位置,因此我感到很不好,因为CMake在新位置上找不到该库是因为它在某种程度上位于具有不同“字母”的其他驱动器上...

我看了find_library文档,但没有发现关于驱动器号的一些限制。

你们对此有何看法?

编辑:这是我的Findxxxx.cmake。是要搜索libsodium

find_path (
    LIBSODIUM_INCLUDE_DIRS
    NAMES sodium.h
    HINTS ${PC_LIBSODIUM_INCLUDE_HINTS}
)

find_library (
    LIBSODIUM_LIBRARIES
    NAMES sodium libsodium
    HINTS ${PC_LIBSODIUM_LIBRARY_HINTS}
)

include(FindPackageHandleStandardArgs)

find_package_handle_standard_args(
    LIBSODIUM
    REQUIRED_VARS LIBSODIUM_LIBRARIES LIBSODIUM_INCLUDE_DIRS
)
mark_as_advanced(
    LIBSODIUM_FOUND
    LIBSODIUM_LIBRARIES LIBSODIUM_INCLUDE_DIRS
)

编辑2:只是通过PowerShell而不是旧的CMD进行了尝试,这似乎在两种情况下都有效。

0 个答案:

没有答案