Как настроить CMakeLists.txt, чтобы найти файл .PC (pkg-config с pkg_search_module) по пути не по умолчанию? - PullRequest
0 голосов
/ 02 июня 2019

Я пытаюсь создать простой проект, используя расширение SDL2 и SDL2_image. Поскольку SDL2_image не предоставляет официальной поддержки для модулей Find * .cmake, моей альтернативой было использование pkg-config для поиска этих библиотек.

Однако я сам собрал SDL2 и SDL2_image и установил их по собственному пути (~ / Library / SDL2 и ~ / Library / SDL2_image).

Кажется, что CMake может правильно найти SDL2, но не может найти SDL2_image, даже если я помещаю файл .PC в системный путь по умолчанию (/usr/share/pkgconfig).

Как мне сказать CMake искать файл .PC по нестандартному (системному) пути? Мне это нужно для создания простого проекта с использованием SDL2 и SDL2_image.

Я пытался поместить файл SDL2_image.pc в системный путь по умолчанию для файлов .PC (/ usr / share / pkgconfig), но, похоже, он ничего не меняет.

find_package(PkgConfig)

# SDL2 can be found and included
pkg_search_module(SDL2 REQUIRED sdl2)

# SDL2_image cannot be found and thus the project doesn't configure/generate.
pkg_search_module(SDL2IMAGE REQUIRED SDL2_image>=2.0.0)

Сообщение об ошибке при запуске «cmake»:

-- Checking for one of the modules 'SDL2_image>=2.0.0'
CMake Error at /usr/share/cmake-3.7/Modules/FindPkgConfig.cmake:637 (message):
  None of the required 'SDL2_image>=2.0.0' found
Call Stack (most recent call first):
  CMakeLists.txt:12 (pkg_search_module)
...