2012-04-30 14 views
6

Cercando di compilare una libreria in Ubuntu con CMake e uno dei file include glib.h. Il pacchetto è installato e glib.h è in /usr/include/glib-2.0/glib.h.Includendo glib.h in un progetto CMake

Ho aggiunto quanto segue, ma il compilatore non riesce ancora a trovare glib.h.

FIND_PACKAGE(glib-2.0) 
IF (glib-2.0_FOUND) 
    INCLUDE_DIRECTORIES(${glib-2.0_INCLUDE_DIR}) 
ENDIF() 

Qualcuno sa quale pacchetto si suppone di cercare?

codice che ho finito per usare è

find_package(PkgConfig REQUIRED) 
pkg_check_modules(GLIB_PKG glib-2.0) 

if (GLIB_PKG_FOUND) 
    message(Found glib-2.0) 
include_directories(${GLIB_PKG_INCLUDE_DIRS}) 

risposta

3

vi suggerisco di andare attraverso il link: How package finding works.

Come riferimento, è possibile dare un'occhiata a questo CMake Module per trovare glib2.

La linea di tuo interesse qui è:

find_path(GLIB_INCLUDE_DIR NAMES glib.h PATH_SUFFIXES glib-2.0) 

Si consiglia di copiare questo modulo nella directory <project root>/cmake/. Quindi, utilizzare uno find_package nel file CMakeLists.txt radice.

+1

Secondo se collegamento interrotto. –

+0

Sì, il collegamento è rotto. Mi piacerebbe davvero vedere l'esempio del modulo CMake – Sean

+0

Credo che potrebbe essere questo https://github.com/gammu/gammu/blob/master/cmake/FindGlib.cmake –

Problemi correlati