Как я могу избежать ссылок непосредственно на библиотечные файлы в cmake? - PullRequest
0 голосов
/ 21 июня 2019

Я пишу проект c, используя cmake на Mac. Я использую доморощенный. Я установил libpqxx через доморощенный. У меня есть следующий CMakeLists.txt.

cmake_minimum_required(VERSION 3.11)
project(imagedb)

set(CMAKE_CXX_STANDARD 14)
add_executable(imagedb main.cpp)

target_link_libraries( imagedb /usr/local/lib/libpqxx.dylib)

Во время этой сборки я бы хотел избежать использования здесь абсолютного пути. Как я могу сделать это с помощью cmake, если /usr/local уже указан в префиксе пути?

1 Ответ

0 голосов
/ 21 июня 2019

Обычно вы должны использовать find_package, чтобы найти зависимости.

Глядя на репозиторий libpqxx , вы видите, что они предоставляют конфигурационный файл CMake.

Итак, в вашем файле CMakeLists.txt вам просто нужно сделать следующее:

find_package(libpqxx REQUIRED)
target_link_libraries(imagedb libpqxx::pqxx_shared)

Если по какой-то причине libpqxx-config.cmake не поставляется с версией домашнего варного, вы должны написать файл поиска .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...