summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCorentin Noël <corentin@elementary.io>2019-03-12 16:13:10 +0100
committerCorentin Noël <corentin@elementary.io>2019-03-12 16:13:10 +0100
commitc993491d61749c78d10781b49bf13aa9aa63d8c1 (patch)
tree6d2e0882dc4beea51ed0c68c2d638c3a7e045c73
parentb887e56e8dac1619ace1d4c1673c6ec9ccbf7375 (diff)
downloadevolution-data-server-tintou/libebackend-gir.tar.gz
[EBackend] Add GObject introspectiontintou/libebackend-gir
-rw-r--r--cmake/modules/GObjectIntrospection.cmake6
-rw-r--r--src/libebackend/CMakeLists.txt39
2 files changed, 44 insertions, 1 deletions
diff --git a/cmake/modules/GObjectIntrospection.cmake b/cmake/modules/GObjectIntrospection.cmake
index 5be5042dc..52dd9bb67 100644
--- a/cmake/modules/GObjectIntrospection.cmake
+++ b/cmake/modules/GObjectIntrospection.cmake
@@ -11,6 +11,7 @@
include(PrintableOptions)
include(PkgConfigEx)
+include(CMakeParseArguments)
add_printable_option(ENABLE_INTROSPECTION "Enable GObject introspection" OFF)
@@ -183,12 +184,15 @@ endmacro(_gir_deps_to_includedir)
macro(gir_add_introspection_simple gir_library pkg_export_prefix gir_library_version c_include gir_identifies_prefixes_var gir_includes_var extra_cflags_var gir_extra_libdirs_var gir_libs_var gir_deps_var gir_sources_var)
gir_construct_names(${gir_library} ${gir_library_version} gir_name gir_vars_prefix)
+ cmake_parse_arguments(gir "" "" "SCANNER_EXTRA_ARGS" ${ARGN})
+ list(APPEND gir_SCANNER_EXTRA_ARGS "--warn-all")
+
unset(INTROSPECTION_SCANNER_ARGS)
unset(INTROSPECTION_SCANNER_ENV)
unset(INTROSPECTION_COMPILER_ARGS)
set(${gir_vars_prefix} ${gir_library})
- set(${gir_vars_prefix}_SCANNERFLAGS "--warn-all")
+ set(${gir_vars_prefix}_SCANNERFLAGS ${gir_SCANNER_EXTRA_ARGS})
set(${gir_vars_prefix}_VERSION "${gir_library_version}")
set(${gir_vars_prefix}_LIBRARY "${gir_vars_prefix}")
set(${gir_vars_prefix}_INCLUDES ${${gir_includes_var}})
diff --git a/src/libebackend/CMakeLists.txt b/src/libebackend/CMakeLists.txt
index b8baf5078..6944beceb 100644
--- a/src/libebackend/CMakeLists.txt
+++ b/src/libebackend/CMakeLists.txt
@@ -138,3 +138,42 @@ install(TARGETS ebackend
install(FILES ${HEADERS}
DESTINATION ${privincludedir}/libebackend
)
+
+set(gir_sources ${SOURCES} ${HEADERS})
+set(gir_identifies_prefixes E)
+set(gir_includes GObject-2.0 Gio-2.0 Soup-2.4 libxml2-2.0)
+set(gir_cflags
+ -DLIBEBACKEND_COMPILATION
+)
+set(gir_libdirs
+ ${CMAKE_BINARY_DIR}/src/private
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+)
+set(gir_libs
+ camel
+ edataserver
+ ebackend
+)
+set(gir_deps
+ ${CMAKE_BINARY_DIR}/src/camel/Camel-${API_VERSION}.gir
+ ${CMAKE_BINARY_DIR}/src/libedataserver/EDataServer-${API_VERSION}.gir
+)
+
+gir_filter_out_sources(gir_sources -private.h)
+
+gir_add_introspection_simple(
+ EBackend
+ libebackend
+ ${API_VERSION}
+ "libebackend/libebackend.h"
+ gir_identifies_prefixes
+ gir_includes
+ gir_cflags
+ gir_libdirs
+ gir_libs
+ gir_deps
+ gir_sources
+ SCANNER_EXTRA_ARGS
+ "--add-init-section=extern void e_cache_reaper_type_register (GTypeModule *type_module)$<SEMICOLON>e_cache_reaper_type_register (NULL)$<SEMICOLON>"
+)