В моем рабочем пространстве есть библиотека "serial" (serial.lib) и проект exe, где exe необходимо связать с библиотекой для сборки и компоновки.
В моем exe CMakeList.txt это не так. Кажется, нет проблем с find_package(serial)
:
Found serial: 1.2.1 (D:/../install/share/serial/cmake)
Вот мой CMake:
...
include_directories(include ${serial_INCLUDE_DIRS})
find_package(serial REQUIRED)
target_link_libraries(${PROJECT_NAME} serial)
#Do i need the following?
add_dependencies(${PROJECT_NAME} serial)
...
Однако он не может найти "serial.lib" который уже был создан и доступен в каталоге install \ lib \ serial.
${serial_INCLUDE_DIRS}
выводит правильный каталог: install / include
Если я добавлю строку:
add_dependencies(${PROJECT_NAME} serial)
У меня будет ошибка: The dependency target "serial" of target "test" does not exist.
Что не хватало? Есть ли необходимость добавлять link_directories(...)
? Как мне указать, что если ${serial_INCLUDE_DIRS}
может указывать на правильный каталог, существует ли такая вещь, как ${serial_LIBS}
, которая будет указывать на каталог библиотеки? Я попробовал ${serial_LIBS}
, и он кажется пустым.