[evolution-data-server/wip/mcrha/libical-glib] Change how vala bindings are built
- From: Milan Crha <mcrha src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [evolution-data-server/wip/mcrha/libical-glib] Change how vala bindings are built
- Date: Fri, 26 Apr 2019 13:37:43 +0000 (UTC)
commit 15492ecfe21c5df793b0f59bd32e60eb572a695d
Author: Milan Crha <mcrha redhat com>
Date: Fri Apr 26 15:39:21 2019 +0200
Change how vala bindings are built
src/vala/CMakeLists.txt | 526 +++++++++++++++++++-----------------
src/vala/camel-1.2.deps | 3 -
src/vala/libebackend-1.2.deps | 4 -
src/vala/libebook-1.2.deps | 3 -
src/vala/libebook-contacts-1.2.deps | 3 -
src/vala/libecal-2.0.deps | 3 -
src/vala/libedata-book-1.2.deps | 4 -
src/vala/libedata-cal-2.0.deps | 3 -
src/vala/libedataserver-1.2.deps | 5 -
src/vala/libedataserverui-1.2.deps | 3 -
10 files changed, 276 insertions(+), 281 deletions(-)
---
diff --git a/src/vala/CMakeLists.txt b/src/vala/CMakeLists.txt
index e72965fc9..16ce82fe4 100644
--- a/src/vala/CMakeLists.txt
+++ b/src/vala/CMakeLists.txt
@@ -4,48 +4,68 @@ set(ENABLE_EBACKEND 0)
set(ENABLE_DATACAL 0)
set(ENABLE_DATABOOK 0)
-set(valafiles
- ${CMAKE_CURRENT_SOURCE_DIR}/camel-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/camel-${API_VERSION}.vapi
- ${CMAKE_CURRENT_SOURCE_DIR}/libedataserver-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${CMAKE_CURRENT_SOURCE_DIR}/libebook-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libebook-${API_VERSION}.vapi
- ${CMAKE_CURRENT_SOURCE_DIR}/libebook-contacts-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VERSION}.vapi
- ${CMAKE_CURRENT_SOURCE_DIR}/libecal-${CAL_API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libecal-${CAL_API_VERSION}.vapi
-)
+# Filled by the _build_vala_files macro below
+set(valafiles)
-if(ENABLE_EBACKEND)
- list(APPEND valafiles
- ${CMAKE_CURRENT_SOURCE_DIR}/libebackend-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libebackend-${API_VERSION}.vapi
- )
-endif(ENABLE_EBACKEND)
+add_custom_target(vala ALL)
-if(ENABLE_DATACAL)
- list(APPEND valafiles
- ${CMAKE_CURRENT_SOURCE_DIR}/libedata-cal-${CAL_API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedata-cal-${CAL_API_VERSION}.vapi
- )
-endif(ENABLE_DATACAL)
+# ***********************************
+# Helper macro
+# ***********************************
-if(ENABLE_DATABOOK)
+macro(_build_vala_files _lib_name _gir_fullname_var _gir_deps_var _gir_dirs_var _vala_deps_var
_extra_vapigen_files_var)
list(APPEND valafiles
- ${CMAKE_CURRENT_SOURCE_DIR}/libedata-book-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedata-book-${API_VERSION}.vapi
+ ${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}.deps
+ ${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}.vapi
)
-endif(ENABLE_DATABOOK)
-if(HAVE_GTK)
- list(APPEND valafiles
- ${CMAKE_CURRENT_SOURCE_DIR}/libedataserverui-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserverui-${API_VERSION}.vapi
+ add_dependencies(vala ${${_gir_deps_var}})
+
+ set(gir_dirs_param)
+ set(vala_deps_param)
+ set(vala_deps_content "")
+ set(vapi_deps)
+
+ foreach(_item IN LISTS ${_gir_dirs_var})
+ list(APPEND gir_dirs_param --girdir=${_item})
+ endforeach()
+
+ foreach(_item IN LISTS ${_vala_deps_var})
+ # those beginning with '*' are built here, thus
+ # skip them from the vapigen arguments
+ string(SUBSTRING "${_item}" 0 1 _item_prefix)
+ if("${_item_prefix}" STREQUAL "*")
+ string(SUBSTRING "${_item}" 1, -1, _item)
+ list(APPEND vapi_deps ${CMAKE_CURRENT_BINARY_DIR}/${_item}.vapi)
+ endif("${_item_prefix}" STREQUAL "*")
+
+ list(APPEND vala_deps_param --pkg ${_item})
+ string(CONCAT vala_deps_content "${vala_deps_content}" "${_item}\n")
+ endforeach()
+
+ file(GENERATE
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}.deps
+ CONTENT "${vala_deps_content}"
)
-endif(HAVE_GTK)
-add_custom_target(vala ALL)
+ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}.vapi
+ COMMAND ${VAPIGEN}
+ --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
+ --vapidir=${CMAKE_CURRENT_BINARY_DIR}
+ ${gir_dirs_param}
+ --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
+ ${vala_deps_param}
+ --library ${_lib_name}
+ --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
+ ${${_gir_fullname_var}}
+ ${${_extra_vapigen_files_var}}
+ DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_lib_name}.deps
+ ${vapi_deps}
+ ${${_extra_vapigen_files_var}}
+ ${${_gir_deps_var}}
+ ${${_gir_fullname_var}}
+ )
+endmacro(_build_vala_files)
# ***********************************
# camel
@@ -54,23 +74,24 @@ add_custom_target(vala ALL)
set(gir_fullname ${CMAKE_BINARY_DIR}/src/camel/Camel-${API_VERSION}.gir)
gir_girfilename_to_target(gir_deps Camel-${API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/camel-${API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg posix
- --library camel-${API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS camel-${API_VERSION}.deps
- ${gir_deps}
- ${gir_fullname}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+)
+
+set(vala_deps
+ gio-2.0
+ libxml-2.0
+ posix
+)
+
+set(extra_vapigen_files)
+
+_build_vala_files(camel-${API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
)
# ***********************************
@@ -80,96 +101,62 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/camel-${API_VERSION}.vapi
set(gir_fullname ${CMAKE_BINARY_DIR}/src/libedataserver/EDataServer-${API_VERSION}.gir)
gir_girfilename_to_target(gir_deps EDataServer-${API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libedataserver-${API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS libedataserver-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/camel-${API_VERSION}.vapi
- ${gir_deps}
- ${gir_fullname}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libedataserver
)
-# ***********************************
-# libedataserverui
-# ***********************************
-
-if(HAVE_GTK)
- set(gir_fullname ${CMAKE_BINARY_DIR}/src/libedataserverui/EDataServerUI-${API_VERSION}.gir)
- gir_girfilename_to_target(gir_deps EDataServerUI-${API_VERSION}.gir)
+set(vala_deps
+ *camel-${API_VERSION}
+ gio-2.0
+ libsoup-2.4
+ libxml-2.0
+ posix
+)
- add_dependencies(vala ${gir_deps})
+set(extra_vapigen_files)
- add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libedataserverui-${API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${CMAKE_BINARY_DIR}/src/calendar/libecal
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg libedataserver-${API_VERSION}
- --pkg libecal-${CAL_API_VERSION}
- --pkg gio-2.0
- --pkg gtk+-3.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libedataserverui-${API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS libedataserverui-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${CMAKE_CURRENT_BINARY_DIR}/libecal-${CAL_API_VERSION}.vapi
- ${gir_fullname}
- ${gir_deps}
- )
-endif(HAVE_GTK)
+_build_vala_files(libedataserver-${API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
+)
# ***********************************
# libebackend
# ***********************************
+if(ENABLE_EBACKEND)
set(gir_fullname ${CMAKE_BINARY_DIR}/src/libebackend/EBackend-${API_VERSION}.gir)
gir_girfilename_to_target(gir_deps EBackend-${API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libebackend-${API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${CMAKE_BINARY_DIR}/src/libebackend
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg libedataserver-${API_VERSION}
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libebackend-${API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS libebackend-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${CMAKE_CURRENT_BINARY_DIR}/libebackend-${API_VERSION}.vapi
- ${gir_fullname}
- ${gir_deps}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+ ${CMAKE_BINARY_DIR}/src/libebackend
+)
+
+set(vala_deps
+ *libedataserver-${API_VERSION}
+ gio-2.0
+ libsoup-2.4
+ libxml-2.0
+ posix
)
+set(extra_vapigen_files)
+
+_build_vala_files(libebackend-${API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
+)
+endif(ENABLE_EBACKEND)
+
# ***********************************
# libebook-contacts
# ***********************************
@@ -177,29 +164,30 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libebackend-${API_VERSION}
set(gir_fullname ${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts/EBookContacts-${API_VERSION}.gir)
gir_girfilename_to_target(gir_deps EBookContacts-${API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg libedataserver-${API_VERSION}
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libebook-contacts-${API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- ${CMAKE_CURRENT_SOURCE_DIR}/libebook-contacts-${API_VERSION}-custom.vala
- DEPENDS libebook-contacts-${API_VERSION}.deps
- libebook-contacts-${API_VERSION}-custom.vala
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${gir_fullname}
- ${gir_deps}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+)
+
+set(vala_deps
+ *camel-${API_VERSION}
+ *libedataserver-${API_VERSION}
+ gio-2.0
+ libsoup-2.4
+ libxml-2.0
+ posix
+)
+
+set(extra_vapigen_files
+ ${CMAKE_CURRENT_SOURCE_DIR}/libebook-contacts-${API_VERSION}-custom.vala
+)
+
+_build_vala_files(libebook-contacts-${API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
)
# ***********************************
@@ -209,30 +197,30 @@ add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VE
set(gir_fullname ${CMAKE_BINARY_DIR}/src/addressbook/libebook/EBook-${API_VERSION}.gir)
gir_girfilename_to_target(gir_deps EBook-${API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libebook-${API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg libedataserver-${API_VERSION}
- --pkg libebook-contacts-${API_VERSION}
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libebook-${API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS libebook-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VERSION}.vapi
- ${gir_fullname}
- ${gir_deps}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+ ${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts
+)
+
+set(vala_deps
+ *camel-${API_VERSION}
+ *libedataserver-${API_VERSION}
+ *libebook-contacts-${API_VERSION}
+ gio-2.0
+ libsoup-2.4
+ libxml-2.0
+ posix
+)
+
+set(extra_vapigen_files)
+
+_build_vala_files(libebook-${API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
)
# ***********************************
@@ -243,33 +231,34 @@ if(ENABLE_DATABOOK)
set(gir_fullname ${CMAKE_BINARY_DIR}/src/addressbook/libedata-book/EDataBook-${API_VERSION}.gir)
gir_girfilename_to_target(gir_deps EDataBook-${API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libedata-book-${API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libebackend
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts
- --pkg libedataserver-${API_VERSION}
- --pkg libebackend-${API_VERSION}
- --pkg libebook-contacts-${API_VERSION}
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libedata-book-${API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS libedata-book-${API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${CMAKE_CURRENT_BINARY_DIR}/libebook-contacts-${API_VERSION}.vapi
- ${CMAKE_CURRENT_BINARY_DIR}/libebackend-${API_VERSION}.vapi
- ${gir_fullname}
- ${gir_deps}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libebackend
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+ ${CMAKE_BINARY_DIR}/src/addressbook/libebook-contacts
+)
+
+set(vala_deps
+ *camel-${API_VERSION}
+ *libedataserver-${API_VERSION}
+ *libebackend-${API_VERSION}
+ *libebook-contacts-${API_VERSION}
+ gio-2.0
+ libsoup-2.4
+ libxml-2.0
+ posix
+)
+
+set(extra_vapigen_files)
+
+_build_vala_files(libedata-book-${API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
)
+
endif(ENABLE_DATABOOK)
# ***********************************
@@ -279,28 +268,30 @@ endif(ENABLE_DATABOOK)
set(gir_fullname ${CMAKE_BINARY_DIR}/src/calendar/libecal/ECal-${CAL_API_VERSION}.gir)
gir_girfilename_to_target(gir_deps ECal-${CAL_API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libecal-${CAL_API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${CMAKE_BINARY_DIR}/src/calendar/libecal
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg libedataserver-${API_VERSION}
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libecal-${CAL_API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS libecal-${CAL_API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${gir_fullname}
- ${gir_deps}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+ ${CMAKE_BINARY_DIR}/src/calendar/libecal
+)
+
+set(vala_deps
+ *camel-${API_VERSION}
+ *libedataserver-${API_VERSION}
+ gio-2.0
+ libical-glib
+ libsoup-2.4
+ libxml-2.0
+ posix
+)
+
+set(extra_vapigen_files)
+
+_build_vala_files(libecal-${CAL_API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
)
# ***********************************
@@ -311,37 +302,72 @@ if(ENABLE_DATACAL)
set(gir_fullname ${CMAKE_BINARY_DIR}/src/calendar/libedata-cal/EDataCal-${CAL_API_VERSION}.gir)
gir_girfilename_to_target(gir_deps EDataCal-${CAL_API_VERSION}.gir)
-add_dependencies(vala ${gir_deps})
-
-add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/libedata-cal-${CAL_API_VERSION}.vapi
- COMMAND ${VAPIGEN}
- --vapidir=${CMAKE_CURRENT_SOURCE_DIR}
- --vapidir=${CMAKE_CURRENT_BINARY_DIR}
- --girdir=${CMAKE_BINARY_DIR}/src/camel
- --girdir=${CMAKE_BINARY_DIR}/src/libebackend
- --girdir=${CMAKE_BINARY_DIR}/src/libedataserver
- --girdir=${CMAKE_BINARY_DIR}/src/calendar/libecal
- --girdir=${CMAKE_BINARY_DIR}/src/calendar/libedata-cal
- --girdir=${SHARE_INSTALL_PREFIX}/gir-1.0
- --pkg libedataserver-${API_VERSION}
- --pkg libebackend-${API_VERSION}
- --pkg libecal-${CAL_API_VERSION}
- --pkg gio-2.0
- --pkg libxml-2.0
- --pkg libsoup-2.4
- --pkg posix
- --library libedata-cal-${CAL_API_VERSION}
- --metadatadir=${CMAKE_CURRENT_SOURCE_DIR}
- ${gir_fullname}
- DEPENDS libedata-cal-${CAL_API_VERSION}.deps
- ${CMAKE_CURRENT_BINARY_DIR}/libedataserver-${API_VERSION}.vapi
- ${CMAKE_CURRENT_BINARY_DIR}/libebackend-${API_VERSION}.vapi
- ${CMAKE_CURRENT_BINARY_DIR}/libecal-${CAL_API_VERSION}.vapi
- ${gir_fullname}
- ${gir_deps}
+set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libebackend
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+ ${CMAKE_BINARY_DIR}/src/calendar/libecal
+ ${CMAKE_BINARY_DIR}/src/calendar/libedata-cal
+)
+
+set(vala_deps
+ *camel-${API_VERSION}
+ *libedataserver-${API_VERSION}
+ *libebackend-${API_VERSION}
+ *libecal-${CAL_API_VERSION}
+ gio-2.0
+ libical-glib
+ libsoup-2.4
+ libxml-2.0
+ posix
+)
+
+set(extra_vapigen_files)
+
+_build_vala_files(libedata-cal-${CAL_API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
)
endif(ENABLE_DATACAL)
+# ***********************************
+# libedataserverui
+# ***********************************
+
+if(HAVE_GTK)
+ set(gir_fullname ${CMAKE_BINARY_DIR}/src/libedataserverui/EDataServerUI-${API_VERSION}.gir)
+ gir_girfilename_to_target(gir_deps EDataServerUI-${API_VERSION}.gir)
+
+ set(gir_dirs
+ ${CMAKE_BINARY_DIR}/src/camel
+ ${CMAKE_BINARY_DIR}/src/libedataserver
+ ${CMAKE_BINARY_DIR}/src/calendar/libecal
+ )
+
+ set(vala_deps
+ *libedataserver-${API_VERSION}
+ *libecal-${CAL_API_VERSION}
+ gio-2.0
+ gtk+-3.0
+ libsoup-2.4
+ libxml-2.0
+ posix
+ )
+
+ set(extra_vapigen_files)
+
+ _build_vala_files(libedataserverui-${API_VERSION}
+ gir_fullname
+ gir_deps
+ gir_dirs
+ vala_deps
+ extra_vapigen_files
+ )
+endif(HAVE_GTK)
+
# ***********************************
# Install all VAPI files
# ***********************************
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]