bzr branch
http://gegoxaren.bato24.eu/bzr/%2Bjunk/libgego
|
1
by Gustav Hartvigsson
* Initial code. |
1 |
# - try to find gobject-introspection
|
2 |
#
|
|
3 |
# Once done this will define
|
|
4 |
#
|
|
5 |
# INTROSPECTION_FOUND - system has gobject-introspection
|
|
6 |
# INTROSPECTION_SCANNER - the gobject-introspection scanner, g-ir-scanner
|
|
7 |
# INTROSPECTION_COMPILER - the gobject-introspection compiler, g-ir-compiler
|
|
8 |
# INTROSPECTION_GENERATE - the gobject-introspection generate, g-ir-generate
|
|
9 |
# INTROSPECTION_GIRDIR
|
|
10 |
# INTROSPECTION_TYPELIBDIR
|
|
11 |
# INTROSPECTION_CFLAGS
|
|
12 |
# INTROSPECTION_LIBS
|
|
13 |
#
|
|
14 |
# Copyright (C) 2010, Pino Toscano, <pino@kde.org>
|
|
15 |
#
|
|
16 |
# Redistribution and use is allowed according to the terms of the BSD license.
|
|
17 |
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
|
|
18 |
||
19 |
macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname) |
|
20 |
execute_process( |
|
21 |
COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_varname} gobject-introspection-1.0 |
|
22 |
OUTPUT_VARIABLE _result |
|
23 |
RESULT_VARIABLE _null |
|
24 |
) |
|
25 |
||
26 |
if (_null) |
|
27 |
else() |
|
28 |
string(REGEX REPLACE "[\r\n]" " " _result "${_result}") |
|
29 |
string(REGEX REPLACE " +$" "" _result "${_result}") |
|
30 |
separate_arguments(_result) |
|
31 |
set(${_outvar} ${_result} CACHE INTERNAL "") |
|
32 |
endif() |
|
33 |
endmacro(_GIR_GET_PKGCONFIG_VAR) |
|
34 |
||
35 |
find_package(PkgConfig) |
|
36 |
if(PKG_CONFIG_FOUND) |
|
37 |
if(PACKAGE_FIND_VERSION_COUNT GREATER 0) |
|
38 |
set(_gir_version_cmp ">=${PACKAGE_FIND_VERSION}") |
|
39 |
endif() |
|
40 |
pkg_check_modules(_pc_gir gobject-introspection-1.0${_gir_version_cmp}) |
|
41 |
if(_pc_gir_FOUND) |
|
42 |
set(INTROSPECTION_FOUND TRUE) |
|
43 |
_gir_get_pkgconfig_var(INTROSPECTION_SCANNER "g_ir_scanner") |
|
44 |
_gir_get_pkgconfig_var(INTROSPECTION_COMPILER "g_ir_compiler") |
|
45 |
_gir_get_pkgconfig_var(INTROSPECTION_GENERATE "g_ir_generate") |
|
46 |
_gir_get_pkgconfig_var(INTROSPECTION_GIRDIR "girdir") |
|
47 |
_gir_get_pkgconfig_var(INTROSPECTION_TYPELIBDIR "typelibdir") |
|
48 |
set(INTROSPECTION_CFLAGS "${_pc_gir_CFLAGS}") |
|
49 |
set(INTROSPECTION_LIBS "${_pc_gir_LIBS}") |
|
50 |
endif() |
|
51 |
endif() |
|
52 |
||
53 |
mark_as_advanced( |
|
54 |
INTROSPECTION_SCANNER |
|
55 |
INTROSPECTION_COMPILER |
|
56 |
INTROSPECTION_GENERATE |
|
57 |
INTROSPECTION_GIRDIR |
|
58 |
INTROSPECTION_TYPELIBDIR |
|
59 |
INTROSPECTION_CFLAGS |
|
60 |
INTROSPECTION_LIBS |
|
61 |
)
|