Как правильно связать путь внешней библиотеки в CMake?
В CMakeLists.txt, если я определяю путь к файлу.lib (статическая библиотека) как абсолютный путь, он работает правильно. Но если я определяю то же самое, что и относительный путь, выдается ошибка. Как я могу решить это без жесткого кода?
Структура файла:
|--D
| |--Rohit
| | |--Sandbox
| | | |--demo
| | | | |--src
| | | | | |--abc
| | | | | | |--build
| | | | | | |--CMakeLists.txt
| | | | | | |--lib
| | | | | | | |--foo.lib
.
.
| | | | |--workspace
| | | | | |--xyz
| | | | | | |--foo2.lib
Этот способ работает нормально:
add_library(foo STATIC IMPORTED)
set_property(TARGET foo PROPERTY IMPORTED_LOCATION D:/Rohit/Sandbox/demo/src/abc/lib/foo.lib)
Этот способ выдает ошибку:
add_library(foo STATIC IMPORTED)
set_property(TARGET foo PROPERTY IMPORTED_LOCATION "/lib/foo.lib")
Мой путь CMakeLists.txt: D: \ Rohit \ Sandbox \ demo \ src \ abc \ CmakeLists.txt
Это ошибка, которую я получаю: LINK: фатальная ошибка LNK1104: не могу открыть файл '\lib\foo.lib'
Также, если я хочу включить.lib файл из какой-то другой папки (скажем, файл foo2.lib присутствует в папке xyz рабочей области), как его определить?