我正在处理的项目有许多外部依赖项,我现在使用IMPORTED
或IMPORTED_LOCATION
设置以及IMPORTED_IMPLIB
转换为正确的INTERFACE_INCLUDE_DIRECTORIES
目标。这比以前全局向所有目标添加所有目录要清晰得多。
我遇到一个问题,现在有一个库,它定义了需要使用特定于MSVC的#pragma
在源文件中链接的库。我尝试添加MODULE IMPORTED
库,但这导致NAME-NOTFOUND.obj
被链接,这不是我想要的,而不是文档似乎暗示的内容。
我还尝试了CMake 3.x的INTERFACE IMPORTED
库类型,这导致#pragma
定义的库被链接但未找到,因为我没有找到为此指定链接器搜索目录的方法目标。我更喜欢适用于CMake 2.8.12.1的解决方案。
如果没有在CMake脚本中命名确切的库文件,有没有办法解决这个问题?