[CMake] Unable to find GTK with cmake on Ubuntu

Kermit Mei kermit.mei at gmail.com
Sun Jan 11 21:56:23 EST 2009


Hi, how about this CMakeLists.txt?  I use it to test my GTK+ programs,
and it always work well;p


cmake_minimum_required(VERSION 2.6)
INCLUDE(UsePkgConfig)
FIND_PACKAGE(GTK)
IF (GTK_FOUND)
     INCLUDE_DIRECTORIES(${GTK_INCLUDE_DIR})
      ADD_DEFINITIONS(-DHAVE_GTK)
     MESSAGE("GTK 1.x found and used as GUI\n")
ELSE (GTK_FOUND)
     PKGCONFIG(gtk+-2.0 GTK2_INCLUDE_DIR GTK2_LINK_DIR GTK2_LINK_FLAGS 
GTK2_CFLAGS)
     PKGCONFIG(gthread-2.0 GTHREAD_INCLUDE_DIR GTHREAD_LINK_DIR 
GTHREAD_LINK_FLAGS+- GTHREAD_CFLAGS)
      IF (GTK2_INCLUDE_DIR)
          SET(CMAKE_C_FLAGS "${GTK2_CFLAGS} ${GTHREAD_CFLAGS}")
          STRING(REGEX REPLACE "-l" "" GTK_LIBRARIES 
"${GTK2_LINK_FLAGS}                                          
${GTHREAD_LINK_FLAGS}")
          SEPARATE_ARGUMENTS(GTK_LIBRARIES)
          ADD_DEFINITIONS(-DHAVE_GTK2)
          MESSAGE("GTK 2.x found and used as GUI\n")
      ELSE (GTK2_INCLUDE_DIR)
          MESSAGE(FATAL_ERROR "GTK or GTK2 is required to build this 
project.")
      ENDIF (GTK2_INCLUDE_DIR)
ENDIF (GTK_FOUND)

ADD_EXECUTABLE(main main.c)
TARGET_LINK_LIBRARIES(main ${GTK2_LINK_FLAGS})

## Have fun!


More information about the CMake mailing list