Per le librerie esterne l'utente può specificare una posizione non standard aggiungendo il percorso allo CMAKE_FLAGS
o aggiungendo -DMYLIB_ROOT
. All'interno dello script CMake voglio trovare il file pc pkg-config della libreria. Poiché il file del pc non si trova nella cartella standard, non viene trovato da pkg-config con pkg_search_module
dello.Aggiungi temporaneamente il percorso a pkg-config all'interno dello script CMake?
ho cercato di aggiungere il percorso dall'utente dato al PKG_CONFIG_PATH
ma sembrava di essere ignorato:
include(FindPkgConfig)
set(PKG_CONFIG_PATH "${PKG_CONFIG_PATH}:${MYLIB_ROOT}/lib/pkgconfig")
pkg_search_module(PKG_MYLIB mylib)
if(${PKG_MYLIB_FOUND})
...
Quando chiamo pkg-config dal terminale con il modificata PKG_CONFIG_PATH
set, trovare il file pc . Che cosa sto facendo di sbagliato? Come posso far funzionare pkg_search_module
? Mi piacerebbe evitare di chiamare pkg-config direttamente da CMake.
Hai ragione, questa è la strada da percorrere quando si usa CMake 3.0 o più anziani. Con 3.1 sarà incluso automaticamente. – usr1234567
Sembra essere l'unica soluzione che funziona per me ... –