File: FindGTK3.cmake

package info (click to toggle)
kde-gtk-config 3%3A2.2.1-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 1,408 kB
  • ctags: 230
  • sloc: cpp: 1,429; ansic: 210; makefile: 14; sh: 2
file content (151 lines) | stat: -rw-r--r-- 3,423 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
# - Find gtk3, glib
# Defines:
# GTK3_FOUND
# GTK3_INCLUDE_DIRS
# GTK3_LIBRARY_DIRS
# GTK3_DEFINITIONS
# GTK3_DEFINITIONS

FIND_PACKAGE(PkgConfig)

#
# gtk
#
PKG_CHECK_MODULES(PC_GTK3 REQUIRED gtk+-3.0)

SET(GTK3_DEFINITIONS ${PC_GTK3_CXXFLAGS_OTHER})

FIND_PATH(
	GTK3_INCLUDE_DIR gtk/gtk.h
	HINTS ${PC_GTK3_INCLUDEDIR} ${PC_GTK3_INCLUDE_DIRS}
	PATH_SUFFIXES gtk-3.0)

FIND_LIBRARY(
	GTK3_LIBRARY NAMES gtk-3
	HINTS ${PC_GTK3_LIBDIR} ${PC_GTK3_LIBRARY_DIRS})

#
# glib
#
PKG_CHECK_MODULES(PC_GLIB2 REQUIRED glib-2.0)

SET(GLIB2_DEFINITIONS ${PC_GLIB2_CXXFLAGS_OTHER})

FIND_PATH(
	GLIB2_INCLUDE_DIR_PART1 glib.h
	HINTS ${PC_GLIB2_INCLUDEDIR} ${PC_GLIB2_INCLUDE_DIRS}
	PATH_SUFFIXES glib-2.0)
	
FIND_PATH(
	GLIB2_INCLUDE_DIR_PART2 glibconfig.h
	HINTS ${PC_GLIB2_INCLUDEDIR} ${PC_GLIB2_INCLUDE_DIRS}
	PATH_SUFFIXES glib-2.0/include)

SET(GLIB2_INCLUDE_DIR ${GLIB2_INCLUDE_DIR_PART1} ${GLIB2_INCLUDE_DIR_PART2})

FIND_LIBRARY(
	GLIB2_LIBRARY NAMES glib-2.0
	HINTS ${PC_GLIB2_LIBDIR} ${PC_GLIB2_LIBRARY_DIRS})

#
# gobject
#
PKG_CHECK_MODULES(PC_GOBJECT2 REQUIRED gobject-2.0)

SET(GLIB2_DEFINITIONS ${PC_GOBJECT2_CXXFLAGS_OTHER})

FIND_PATH(
	GOBJECT2_INCLUDE_DIR_PART1 glib.h
	HINTS ${PC_GOBJECT2_INCLUDEDIR} ${PC_GOBJECT2_INCLUDE_DIRS}
	PATH_SUFFIXES gobject-2.0)
	
FIND_PATH(
	GOBJECT2_INCLUDE_DIR_PART2 gobject.h
	HINTS ${PC_GOBJECT2_INCLUDEDIR} ${PC_GOBJECT2_INCLUDE_DIRS}
	PATH_SUFFIXES glib-2.0/gobject)

SET(GOBJECT2_INCLUDE_DIR ${GOBJECT2_INCLUDE_DIR_PART1} ${GOBJECT2_INCLUDE_DIR_PART2})

FIND_LIBRARY(
	GOBJECT2_LIBRARY NAMES gobject-2.0
	HINTS ${PC_GOBJECT2_LIBDIR} ${PC_GOBJECT2_LIBRARY_DIRS})

#
# pango
#
PKG_CHECK_MODULES(PC_PANGO REQUIRED pango)

SET(PANGO_DEFINITIONS ${PC_PANGO_CXXFLAGS_OTHER})

FIND_PATH(
	PANGO_INCLUDE_DIR pango/pango.h
	HINTS ${PC_PANGO_INCLUDEDIR} ${PC_PANGO_INCLUDE_DIRS}
	PATH_SUFFIXES pango-1.0)

FIND_LIBRARY(
	PANGO_LIBRARY NAMES pango-1.0
	HINTS ${PC_PANGO_LIBDIR} ${PC_PANGO_LIBRARY_DIRS})

#
# cairo
#
PKG_CHECK_MODULES(PC_CAIRO REQUIRED cairo)

SET(CAIRO_DEFINITIONS ${PC_CAIRO_CXXFLAGS_OTHER})

FIND_PATH(
	CAIRO_INCLUDE_DIR cairo.h
	HINTS ${PC_CAIRO_INCLUDEDIR} ${PC_CAIRO_INCLUDE_DIRS}
	PATH_SUFFIXES cairo)

FIND_LIBRARY(
	CAIRO_LIBRARY NAMES cairo
	HINTS ${PC_CAIRO_LIBDIR} ${PC_CAIRO_LIBRARY_DIRS})

#
# gdk-pixbuf
#
PKG_CHECK_MODULES(PC_GDKPIXBUF REQUIRED gdk-pixbuf-2.0)

SET(GDKPIXBUF_DEFINITIONS ${PC_GDKPIXBUF_CXXFLAGS_OTHER})

FIND_PATH(
	GDKPIXBUF_INCLUDE_DIR gdk-pixbuf/gdk-pixbuf.h
	HINTS ${PC_GDKPIXBUF_INCLUDEDIR} ${PC_GDKPIXBUF_INCLUDE_DIRS}
	PATH_SUFFIXES gdk-pixbuf-2.0)

FIND_LIBRARY(
	GDKPIXBUF_LIBRARY NAMES gdk_pixbuf-2.0
	HINTS ${PC_GDKPIXBUF_LIBDIR} ${PC_GDKPIXBUF_LIBRARY_DIRS})

#
# atk
#
PKG_CHECK_MODULES(PC_ATK REQUIRED atk)

SET(ATK_DEFINITIONS ${PC_ATK_CXXFLAGS_OTHER})

FIND_PATH(
	ATK_INCLUDE_DIR atk/atk.h
	HINTS ${PC_ATK_INCLUDEDIR} ${PC_ATK_INCLUDE_DIRS}
	PATH_SUFFIXES atk-1.0)

FIND_LIBRARY(
	ATK_LIBRARY NAMES atk-1.0
	HINTS ${PC_ATK_LIBDIR} ${PC_ATK_LIBRARY_DIRS})

#
#
#result
#
#
SET(GTK3_LIBRARY_DIRS ${GTK3_LIBRARY} ${GLIB2_LIBRARY} ${PANGO_LIBRARY} ${CAIRO_LIBRARY} ${GDKPIXBUF_LIBRARY} ${ATK_LIBRARY})
SET(GTK3_INCLUDE_DIRS ${GTK3_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${PANGO_INCLUDE_DIR} ${CAIRO_INCLUDE_DIR} ${GDKPIXBUF_INCLUDE_DIR} ${ATK_INCLUDE_DIR})

INCLUDE(FindPackageHandleStandardArgs)

FIND_PACKAGE_HANDLE_STANDARD_ARGS(
	GTK3 DEFAULT_MSG
	GTK3_LIBRARY GTK3_INCLUDE_DIR)

MARK_AS_ADVANCED(GTK3_INCLUDE_DIR GTK3_LIBRARY)