Spaces:
Running
Running
# - try to find gobject-introspection | |
# | |
# Once done this will define | |
# | |
# INTROSPECTION_FOUND - system has gobject-introspection | |
# INTROSPECTION_SCANNER - the gobject-introspection scanner, g-ir-scanner | |
# INTROSPECTION_COMPILER - the gobject-introspection compiler, g-ir-compiler | |
# INTROSPECTION_GENERATE - the gobject-introspection generate, g-ir-generate | |
# INTROSPECTION_GIRDIR | |
# INTROSPECTION_TYPELIBDIR | |
# INTROSPECTION_CFLAGS | |
# INTROSPECTION_LIBS | |
# | |
# Copyright (C) 2010, Pino Toscano, <[email protected]> | |
# | |
# Redistribution and use is allowed according to the terms of the BSD license. | |
# For details see the accompanying COPYING-CMAKE-SCRIPTS file. | |
macro(_GIR_GET_PKGCONFIG_VAR _outvar _varname) | |
execute_process( | |
COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${_varname} gobject-introspection-1.0 | |
OUTPUT_VARIABLE _result | |
RESULT_VARIABLE _null | |
) | |
if (_null) | |
else() | |
string(REGEX REPLACE "[\r\n]" " " _result "${_result}") | |
string(REGEX REPLACE " +$" "" _result "${_result}") | |
separate_arguments(_result) | |
set(${_outvar} ${_result} CACHE INTERNAL "") | |
endif() | |
endmacro(_GIR_GET_PKGCONFIG_VAR) | |
find_package(PkgConfig) | |
if(PKG_CONFIG_FOUND) | |
if(PACKAGE_FIND_VERSION_COUNT GREATER 0) | |
set(_gir_version_cmp ">=${PACKAGE_FIND_VERSION}") | |
endif() | |
pkg_check_modules(_pc_gir gobject-introspection-1.0${_gir_version_cmp}) | |
if(_pc_gir_FOUND) | |
set(INTROSPECTION_FOUND TRUE) | |
_gir_get_pkgconfig_var(INTROSPECTION_SCANNER "g_ir_scanner") | |
_gir_get_pkgconfig_var(INTROSPECTION_COMPILER "g_ir_compiler") | |
_gir_get_pkgconfig_var(INTROSPECTION_GENERATE "g_ir_generate") | |
_gir_get_pkgconfig_var(INTROSPECTION_GIRDIR "girdir") | |
_gir_get_pkgconfig_var(INTROSPECTION_TYPELIBDIR "typelibdir") | |
set(INTROSPECTION_CFLAGS "${_pc_gir_CFLAGS}") | |
set(INTROSPECTION_LIBS "${_pc_gir_LIBS}") | |
endif() | |
endif() | |
mark_as_advanced( | |
INTROSPECTION_SCANNER | |
INTROSPECTION_COMPILER | |
INTROSPECTION_GENERATE | |
INTROSPECTION_GIRDIR | |
INTROSPECTION_TYPELIBDIR | |
INTROSPECTION_CFLAGS | |
INTROSPECTION_LIBS | |
) | |