Я использую стороннюю библиотеку rbdl, в которой содержится rbdl.pc.cmake, которая, я полагаю, включена для использования pkg_check_modules
в файле cmake.pkg_check_modules не удалось найти * .pc.cmake
Я обновляю PKG_CONFIG_PATH
, чтобы указать на папку rbdl
set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:${CMAKE_BINARY_DIR}/externals/rbdl")
pkg_check_modules(RBDL rbdl)
но pkg_check_modules
говорит, что не может найти модуль.
Когда я вручную дублирую rbdl.pc.cmake, переименуйте копию в rbdl.pc и запустите pkg-config --cflags --libs rbdl
в терминале, тогда мой cmake также начнет работать!
Интересно, теперь, даже если я удалю rbdl.pc, модуль rbdl, если он полностью найден rbdl.pc.cmake!
Так что мои вопросы:
- В чем разница между * .pc и * .pc.cmake?
- Как правильно настроить мой cmake для работы с оригинальным rbdl.pc.cmake?
- Почему rbdl.pc.cmake начинает приниматься
pkg_check_modules
после того, как настроить его дублирование, переименование копии и запуск pkg-config вручную?
Какую версию CMake вы используете? В CMake 3.1 было некоторое улучшение с pgk-config. – usr1234567
@ usr1234567 Я использую 2.8. Это может быть причина? – Ivan
Если возможно, используйте CMake 3.1 или новее, так как эта версия имеет улучшенные функции pkg-config. – usr1234567