Code

Cmake: more fixes plus a patch for OSX paths by Henrik Gustafsson
[inkscape.git] / CMakeScripts / FindGtkMM.cmake
1 # - Try to find GTKMM
2 # Once done this will define
3 #
4 #  GTKMM_FOUND - system has GTKMM
5 #  GTKMM_INCLUDE_DIRS - the GTKMM include directory
6 #  GTKMM_LIBRARIES - Link these to use GTKMM
7 #  GTKMM_DEFINITIONS - Compiler switches required for using GTKMM
8 #
9 #  Copyright (c) 2008 Joshua L. Blocher <verbalshadow@gmail.com>
10 #
11 #  Redistribution and use is allowed according to the terms of the New
12 #  BSD license.
13 #  For details see the accompanying COPYING-CMAKE-SCRIPTS file.
14 #
17 if (GTKMM_LIBRARIES AND GTKMM_INCLUDE_DIRS)
18   # in cache already
19   set(GTKMM_FOUND TRUE)
20 else (GTKMM_LIBRARIES AND GTKMM_INCLUDE_DIRS)
21   # use pkg-config to get the directories and then use these values
22   # in the FIND_PATH() and FIND_LIBRARY() calls
23   if (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
24     include(UsePkgConfig)
25     pkgconfig(gtkmm-2.4 _GTKMM_INCLUDEDIR _GTKMM_LIBDIR _GTKMM_LDFLAGS _GTKMM_CFLAGS)
26   else (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
27     find_package(PkgConfig)
28     if (PKG_CONFIG_FOUND)
29       pkg_check_modules(_GTKMM gtkmm-2.4)
30     endif (PKG_CONFIG_FOUND)
31   endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
32   find_path(GTKMM_INCLUDE_DIR
33     NAMES
34       gtkmm.h
35     PATHS
36       ${_GTKMM_INCLUDEDIR}
37       /usr/include
38       /usr/local/include
39       /opt/local/include
40       /sw/include
41     PATH_SUFFIXES
42       gtkmm-2.4
43   )
44   
45   find_path(GTKMM_CONFIG_INCLUDE_DIR
46     NAMES
47       gtkmmconfig.h
48     PATHS
49       ${_GDKMM_INCLUDEDIR}
50       /usr/include
51       /usr/local/include
52       /opt/local/include
53       /opt/local/lib/gtkmm-2.4/include
54       /sw/include
55       /usr/lib/gtkmm-2.4/include
56       /usr/lib64/gtkmm-2.4/include
57   )
59   find_library(GTKMM-2.4_LIBRARY
60     NAMES
61       gtkmm-2.4
62     PATHS
63       ${_GTKMM_LIBDIR}
64       /usr/lib
65       /usr/local/lib
66       /opt/local/lib
67       /sw/lib
68   )
70 find_package(ATKMM REQUIRED)
71 find_package(GDKMM REQUIRED)
72 find_package(GIOMM REQUIRED)
73 find_package(GLIBMM REQUIRED)
74 find_package(PANGOMM REQUIRED)
75 find_package(CAIROMM REQUIRED)
77   if (GTKMM-2.4_LIBRARY)
78     set(GTKMM-2.4_FOUND TRUE)
79   endif (GTKMM-2.4_LIBRARY)
81   set(GTKMM_INCLUDE_DIRS
82     ${GTKMM_INCLUDE_DIR}
83     ${GTKMM_CONFIG_INCLUDE_DIR}
84     ${ATKMM_INCLUDE_DIR}
85     ${ATKMM_CONFIG_INCLUDE_DIR}
86     ${GDKMM_INCLUDE_DIR}
87     ${GDKMM_CONFIG_INCLUDE_DIR}
88     ${GIOMM_INCLUDE_DIR}
89     ${GIOMM_CONFIG_INCLUDE_DIR}
90     ${GLIBMM_INCLUDE_DIR}
91     ${GLIBMM_CONFIG_INCLUDE_DIR}
92     ${PANGOMM_INCLUDE_DIR}
93     ${PANGOMM_CONFIG_INCLUDE_DIR}
94     ${CAIROMM_INCLUDE_DIR}
95     ${CAIROMM_CONFIG_INCLUDE_DIR}
96   )
98   if (GTKMM-2.4_FOUND)
99     set(GTKMM_LIBRARIES
100       ${GTKMM_LIBRARIES}
101       ${GTKMM-2.4_LIBRARY}
102       ${ATKMM_LIBRARIES}
103       ${GDKMM_LIBRARIES}
104       ${GIOMM_LIBRARIES}
105       ${GLIBMM_LIBRARIES}
106       ${PANGOMM_LIBRARIES}
107       ${CAIROMM_LIBRARIES}
108     )
109   endif (GTKMM-2.4_FOUND)
111   if (GTKMM_INCLUDE_DIRS AND GTKMM_LIBRARIES)
112      set(GTKMM_FOUND TRUE)
113   endif (GTKMM_INCLUDE_DIRS AND GTKMM_LIBRARIES)
115   if (GTKMM_FOUND)
116     if (NOT GTKMM_FIND_QUIETLY)
117       message(STATUS "Found GTKMM: ${GTKMM_LIBRARIES}")
118     endif (NOT GTKMM_FIND_QUIETLY)
119   else (GTKMM_FOUND)
120     if (GTKMM_FIND_REQUIRED)
121       message(FATAL_ERROR "Could not find GTKMM")
122     endif (GTKMM_FIND_REQUIRED)
123   endif (GTKMM_FOUND)
125   # show the GTKMM_INCLUDE_DIRS and GTKMM_LIBRARIES variables only in the advanced view
126   mark_as_advanced(GTKMM_INCLUDE_DIRS GTKMM_LIBRARIES)
128 endif (GTKMM_LIBRARIES AND GTKMM_INCLUDE_DIRS)