Changeset View
Changeset View
Standalone View
Standalone View
cmake/modules/FindGTK3.cmake
- This file was added.
1 | # - Find gtk3, glib | ||||
---|---|---|---|---|---|
2 | # Defines: | ||||
3 | # GTK3_FOUND | ||||
4 | # GTK3_INCLUDE_DIRS | ||||
5 | # GTK3_LIBRARY_DIRS | ||||
6 | # GTK3_DEFINITIONS | ||||
7 | # GTK3_DEFINITIONS | ||||
8 | | ||||
9 | FIND_PACKAGE(PkgConfig) | ||||
10 | | ||||
11 | # | ||||
12 | # gtk | ||||
13 | # | ||||
14 | PKG_CHECK_MODULES(PC_GTK3 REQUIRED gtk+-3.0) | ||||
15 | | ||||
16 | SET(GTK3_DEFINITIONS ${PC_GTK3_CXXFLAGS_OTHER}) | ||||
17 | | ||||
18 | FIND_PATH( | ||||
19 | GTK3_INCLUDE_DIR gtk/gtk.h | ||||
20 | HINTS ${PC_GTK3_INCLUDEDIR} ${PC_GTK3_INCLUDE_DIRS} | ||||
21 | PATH_SUFFIXES gtk-3.0) | ||||
22 | | ||||
23 | FIND_LIBRARY( | ||||
24 | GTK3_LIBRARY NAMES gtk-3 | ||||
25 | HINTS ${PC_GTK3_LIBDIR} ${PC_GTK3_LIBRARY_DIRS}) | ||||
26 | | ||||
27 | # | ||||
28 | # glib | ||||
29 | # | ||||
30 | PKG_CHECK_MODULES(PC_GLIB2 REQUIRED glib-2.0) | ||||
31 | | ||||
32 | SET(GLIB2_DEFINITIONS ${PC_GLIB2_CXXFLAGS_OTHER}) | ||||
33 | | ||||
34 | FIND_PATH( | ||||
35 | GLIB2_INCLUDE_DIR_PART1 glib.h | ||||
36 | HINTS ${PC_GLIB2_INCLUDEDIR} ${PC_GLIB2_INCLUDE_DIRS} | ||||
37 | PATH_SUFFIXES glib-2.0) | ||||
38 | | ||||
39 | FIND_PATH( | ||||
40 | GLIB2_INCLUDE_DIR_PART2 glibconfig.h | ||||
41 | HINTS ${PC_GLIB2_INCLUDEDIR} ${PC_GLIB2_INCLUDE_DIRS} | ||||
42 | PATH_SUFFIXES glib-2.0/include) | ||||
43 | | ||||
44 | SET(GLIB2_INCLUDE_DIR ${GLIB2_INCLUDE_DIR_PART1} ${GLIB2_INCLUDE_DIR_PART2}) | ||||
45 | | ||||
46 | FIND_LIBRARY( | ||||
47 | GLIB2_LIBRARY NAMES glib-2.0 | ||||
48 | HINTS ${PC_GLIB2_LIBDIR} ${PC_GLIB2_LIBRARY_DIRS}) | ||||
49 | | ||||
50 | # | ||||
51 | # gobject | ||||
52 | # | ||||
53 | PKG_CHECK_MODULES(PC_GOBJECT2 REQUIRED gobject-2.0) | ||||
54 | | ||||
55 | SET(GLIB2_DEFINITIONS ${PC_GOBJECT2_CXXFLAGS_OTHER}) | ||||
56 | | ||||
57 | FIND_PATH( | ||||
58 | GOBJECT2_INCLUDE_DIR_PART1 glib.h | ||||
59 | HINTS ${PC_GOBJECT2_INCLUDEDIR} ${PC_GOBJECT2_INCLUDE_DIRS} | ||||
60 | PATH_SUFFIXES gobject-2.0) | ||||
61 | | ||||
62 | FIND_PATH( | ||||
63 | GOBJECT2_INCLUDE_DIR_PART2 gobject.h | ||||
64 | HINTS ${PC_GOBJECT2_INCLUDEDIR} ${PC_GOBJECT2_INCLUDE_DIRS} | ||||
65 | PATH_SUFFIXES glib-2.0/gobject) | ||||
66 | | ||||
67 | SET(GOBJECT2_INCLUDE_DIR ${GOBJECT2_INCLUDE_DIR_PART1} ${GOBJECT2_INCLUDE_DIR_PART2}) | ||||
68 | | ||||
69 | FIND_LIBRARY( | ||||
70 | GOBJECT2_LIBRARY NAMES gobject-2.0 | ||||
71 | HINTS ${PC_GOBJECT2_LIBDIR} ${PC_GOBJECT2_LIBRARY_DIRS}) | ||||
72 | | ||||
73 | # | ||||
74 | # gio | ||||
75 | # | ||||
76 | PKG_CHECK_MODULES(PC_GIO2 REQUIRED gio-2.0) | ||||
77 | | ||||
78 | SET(GLIB2_DEFINITIONS ${PC_GIO2_CXXFLAGS_OTHER}) | ||||
79 | | ||||
80 | FIND_PATH( | ||||
81 | GIO2_INCLUDE_DIR_PART1 glib.h | ||||
82 | HINTS ${PC_GIO2_INCLUDEDIR} ${PC_GIO2_INCLUDE_DIRS} | ||||
83 | PATH_SUFFIXES gio) | ||||
84 | | ||||
85 | FIND_PATH( | ||||
86 | GIO2_INCLUDE_DIR_PART2 gio.h | ||||
87 | HINTS ${PC_GIO2_INCLUDEDIR} ${PC_GIO2_INCLUDE_DIRS} | ||||
88 | PATH_SUFFIXES glib-2.0/gio) | ||||
89 | | ||||
90 | SET(GIO2_INCLUDE_DIR ${GIO2_INCLUDE_DIR_PART1} ${GIO2_INCLUDE_DIR_PART2}) | ||||
91 | | ||||
92 | FIND_LIBRARY( | ||||
93 | GIO2_LIBRARY NAMES gio-2.0 | ||||
94 | HINTS ${PC_GIO2_LIBDIR} ${PC_GIO2_LIBRARY_DIRS}) | ||||
95 | | ||||
96 | | ||||
97 | # | ||||
98 | # pango | ||||
99 | # | ||||
100 | PKG_CHECK_MODULES(PC_PANGO REQUIRED pango) | ||||
101 | | ||||
102 | SET(PANGO_DEFINITIONS ${PC_PANGO_CXXFLAGS_OTHER}) | ||||
103 | | ||||
104 | FIND_PATH( | ||||
105 | PANGO_INCLUDE_DIR pango/pango.h | ||||
106 | HINTS ${PC_PANGO_INCLUDEDIR} ${PC_PANGO_INCLUDE_DIRS} | ||||
107 | PATH_SUFFIXES pango-1.0) | ||||
108 | | ||||
109 | FIND_LIBRARY( | ||||
110 | PANGO_LIBRARY NAMES pango-1.0 | ||||
111 | HINTS ${PC_PANGO_LIBDIR} ${PC_PANGO_LIBRARY_DIRS}) | ||||
112 | | ||||
113 | # | ||||
114 | # harfbuzz | ||||
115 | # | ||||
116 | if(PC_PANGO_VERSION VERSION_EQUAL 1.44 OR PC_PANGO_VERSION VERSION_GREATER 1.44) | ||||
117 | PKG_CHECK_MODULES(PC_HARFBUZZ REQUIRED harfbuzz) | ||||
118 | | ||||
119 | SET(HARFBUZZ_DEFINITIONS ${PC_HARFBUZZ_CXXFLAGS_OTHER}) | ||||
120 | | ||||
121 | FIND_PATH( | ||||
122 | HARFBUZZ_INCLUDE_DIR hb.h | ||||
123 | HINTS ${PC_HARFBUZZ_INCLUDEDIR} ${PC_HARFBUZZ_INCLUDE_DIRS} | ||||
124 | PATH_SUFFIXES harfbuzz) | ||||
125 | | ||||
126 | FIND_LIBRARY( | ||||
127 | HARFBUZZ_LIBRARY NAMES harfbuzz | ||||
128 | HINTS ${PC_HARFBUZZ_LIBDIR} ${PC_HARFBUZZ_LIBRARY_DIRS}) | ||||
129 | endif() | ||||
130 | | ||||
131 | # | ||||
132 | # cairo | ||||
133 | # | ||||
134 | PKG_CHECK_MODULES(PC_CAIRO REQUIRED cairo) | ||||
135 | | ||||
136 | SET(CAIRO_DEFINITIONS ${PC_CAIRO_CXXFLAGS_OTHER}) | ||||
137 | | ||||
138 | FIND_PATH( | ||||
139 | CAIRO_INCLUDE_DIR cairo.h | ||||
140 | HINTS ${PC_CAIRO_INCLUDEDIR} ${PC_CAIRO_INCLUDE_DIRS} | ||||
141 | PATH_SUFFIXES cairo) | ||||
142 | | ||||
143 | FIND_LIBRARY( | ||||
144 | CAIRO_LIBRARY NAMES cairo | ||||
145 | HINTS ${PC_CAIRO_LIBDIR} ${PC_CAIRO_LIBRARY_DIRS}) | ||||
146 | | ||||
147 | # | ||||
148 | # gdk-pixbuf | ||||
149 | # | ||||
150 | PKG_CHECK_MODULES(PC_GDKPIXBUF REQUIRED gdk-pixbuf-2.0) | ||||
151 | | ||||
152 | SET(GDKPIXBUF_DEFINITIONS ${PC_GDKPIXBUF_CXXFLAGS_OTHER}) | ||||
153 | | ||||
154 | FIND_PATH( | ||||
155 | GDKPIXBUF_INCLUDE_DIR gdk-pixbuf/gdk-pixbuf.h | ||||
156 | HINTS ${PC_GDKPIXBUF_INCLUDEDIR} ${PC_GDKPIXBUF_INCLUDE_DIRS} | ||||
157 | PATH_SUFFIXES gdk-pixbuf-2.0) | ||||
158 | | ||||
159 | FIND_LIBRARY( | ||||
160 | GDKPIXBUF_LIBRARY NAMES gdk_pixbuf-2.0 | ||||
161 | HINTS ${PC_GDKPIXBUF_LIBDIR} ${PC_GDKPIXBUF_LIBRARY_DIRS}) | ||||
162 | | ||||
163 | # | ||||
164 | # atk | ||||
165 | # | ||||
166 | PKG_CHECK_MODULES(PC_ATK REQUIRED atk) | ||||
167 | | ||||
168 | SET(ATK_DEFINITIONS ${PC_ATK_CXXFLAGS_OTHER}) | ||||
169 | | ||||
170 | FIND_PATH( | ||||
171 | ATK_INCLUDE_DIR atk/atk.h | ||||
172 | HINTS ${PC_ATK_INCLUDEDIR} ${PC_ATK_INCLUDE_DIRS} | ||||
173 | PATH_SUFFIXES atk-1.0) | ||||
174 | | ||||
175 | FIND_LIBRARY( | ||||
176 | ATK_LIBRARY NAMES atk-1.0 | ||||
177 | HINTS ${PC_ATK_LIBDIR} ${PC_ATK_LIBRARY_DIRS}) | ||||
178 | | ||||
179 | # | ||||
180 | # | ||||
181 | #result | ||||
182 | # | ||||
183 | # | ||||
184 | SET(GTK3_LIBRARY_DIRS ${GTK3_LIBRARY} ${GLIB2_LIBRARY} ${PANGO_LIBRARY} ${HARFBUZZ_LIBRARY} ${CAIRO_LIBRARY} ${GDKPIXBUF_LIBRARY} ${ATK_LIBRARY}) | ||||
185 | SET(GTK3_INCLUDE_DIRS ${GTK3_INCLUDE_DIR} ${GLIB2_INCLUDE_DIR} ${GIO2_INCLUDE_DIR} ${HARFBUZZ_INCLUDE_DIR} ${PANGO_INCLUDE_DIR} ${CAIRO_INCLUDE_DIR} ${GDKPIXBUF_INCLUDE_DIR} ${ATK_INCLUDE_DIR}) | ||||
186 | | ||||
187 | INCLUDE(FindPackageHandleStandardArgs) | ||||
188 | | ||||
189 | FIND_PACKAGE_HANDLE_STANDARD_ARGS( | ||||
190 | GTK3 DEFAULT_MSG | ||||
191 | GTK3_LIBRARY GTK3_INCLUDE_DIR) | ||||
192 | | ||||
193 | MARK_AS_ADVANCED(GTK3_INCLUDE_DIR GTK3_LIBRARY) |