Merge lp:~pete-woods/cmake-extras/gdbus-conventional-appending-lp1671807 into lp:cmake-extras

Proposed by Pete Woods
Status: Merged
Approved by: dobey
Approved revision: 71
Merged at revision: 71
Proposed branch: lp:~pete-woods/cmake-extras/gdbus-conventional-appending-lp1671807
Merge into: lp:cmake-extras
Diff against target: 113 lines (+30/-16)
3 files modified
debian/changelog (+6/-0)
examples/gdbus-demo/CMakeLists.txt (+7/-5)
src/GDbus/GDbusConfig.cmake (+17/-11)
To merge this branch: bzr merge lp:~pete-woods/cmake-extras/gdbus-conventional-appending-lp1671807
Reviewer Review Type Date Requested Status
dobey (community) Approve
Review via email: mp+319563@code.launchpad.net

Commit message

Switch to conventional generated source appending for GDbus macros

Description of the change

Switch to conventional generated source appending for GDbus macros

To post a comment you must log in.
Revision history for this message
dobey (dobey) :
review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
=== modified file 'debian/changelog'
--- debian/changelog 2017-02-28 17:48:01 +0000
+++ debian/changelog 2017-03-10 12:30:47 +0000
@@ -1,3 +1,9 @@
1cmake-extras (1.3-0ubuntu1) UNRELEASED; urgency=medium
2
3 * Make GDBus source name generation work like more conventional macros.
4
5 -- Pete <pete.woods@canonical.com> Fri, 10 Mar 2017 12:21:39 +0000
6
1cmake-extras (1.2+17.04.20170228-0ubuntu1) zesty; urgency=medium7cmake-extras (1.2+17.04.20170228-0ubuntu1) zesty; urgency=medium
28
3 * Add function to compile GSettings schemas. (LP: #1664714)9 * Add function to compile GSettings schemas. (LP: #1664714)
410
=== modified file 'examples/gdbus-demo/CMakeLists.txt'
--- examples/gdbus-demo/CMakeLists.txt 2017-02-24 19:55:58 +0000
+++ examples/gdbus-demo/CMakeLists.txt 2017-03-10 12:30:47 +0000
@@ -19,15 +19,19 @@
19include_directories(${GLIB_INCLUDE_DIRS})19include_directories(${GLIB_INCLUDE_DIRS})
20include_directories(${CMAKE_CURRENT_BINARY_DIR})20include_directories(${CMAKE_CURRENT_BINARY_DIR})
2121
22set(SOURCES
23 main.cpp
24)
25
22add_gdbus_codegen(26add_gdbus_codegen(
23 DBUS_STANDARD27 SOURCES
24 dbus-standard28 dbus-standard
25 org.freedesktop29 org.freedesktop
26 org.freedesktop.DBus.xml30 org.freedesktop.DBus.xml
27 )31 )
2832
29add_gdbus_codegen(33add_gdbus_codegen(
30 DBUS_NAMESPACED34 SOURCES
31 dbus-namespaced35 dbus-namespaced
32 org.freedesktop36 org.freedesktop
33 org.freedesktop.DBus.xml37 org.freedesktop.DBus.xml
@@ -37,9 +41,7 @@
37add_executable(41add_executable(
38 test-gdbus42 test-gdbus
3943
40 main.cpp44 ${SOURCES}
41 ${DBUS_STANDARD_SOURCES}
42 ${DBUS_NAMESPACED_SOURCES}
43 )45 )
44target_link_libraries(46target_link_libraries(
45 test-gdbus47 test-gdbus
4648
=== modified file 'src/GDbus/GDbusConfig.cmake'
--- src/GDbus/GDbusConfig.cmake 2017-02-28 17:39:43 +0000
+++ src/GDbus/GDbusConfig.cmake 2017-03-10 12:30:47 +0000
@@ -41,23 +41,23 @@
41#.. command:: add_gdbus_codegen41#.. command:: add_gdbus_codegen
42#42#
43# Generates C code and header file from XML service description, and43# Generates C code and header file from XML service description, and
44# sets the :variable:<VARIABLE_PREFIX>_SOURCES variable with the newly44# appends the sources to the SOURCES list provided.
45# generated source files. This variable should be added to the list of
46# sources for your :command:add_executable or :command:add_library target.
47#45#
48# add_gdbus_codegen(<VARIABLE_PREFIX> <NAME> <PREFIX> <SERVICE_XML> [NAMESPACE])46# add_gdbus_codegen(<SOURCES> <NAME> <PREFIX> <SERVICE_XML> [NAMESPACE])
49#47#
50# For example:48# For example:
51#49#
52# .. code-block:: cmake50# .. code-block:: cmake
53#51#
54# add_gdbus_codegen(DBUS_PROXY52# set(MY_SOURCES foo.c)
53#
54# add_gdbus_codegen(MY_SOURCES
55# dbus-proxy55# dbus-proxy
56# org.freedesktop56# org.freedesktop
57# org.freedesktop.DBus.xml57# org.freedesktop.DBus.xml
58# )58# )
59#59#
60function(ADD_GDBUS_CODEGEN VARIABLE_PREFIX NAME PREFIX SERVICE_XML)60function(ADD_GDBUS_CODEGEN _SOURCES _NAME _PREFIX SERVICE_XML)
61 set(_options ALL)61 set(_options ALL)
62 set(_oneValueArgs NAMESPACE)62 set(_oneValueArgs NAMESPACE)
6363
@@ -70,17 +70,23 @@
70 set(_NAMESPACE "--c-namespace=${_ARG_NAMESPACE}")70 set(_NAMESPACE "--c-namespace=${_ARG_NAMESPACE}")
71 endif()71 endif()
7272
73 set(_OUTPUT_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/${NAME}")73 set(_OUTPUT_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/${_NAME}")
74 set(_OUTPUT_FILES "${_OUTPUT_PREFIX}.c" "${_OUTPUT_PREFIX}.h")74 set(_OUTPUT_FILES "${_OUTPUT_PREFIX}.c" "${_OUTPUT_PREFIX}.h")
75 set("${VARIABLE_PREFIX}_SOURCES" "${_OUTPUT_FILES}" PARENT_SCOPE)75
76 # for backwards compatibility
77 set("${_SOURCES}_SOURCES" "${_OUTPUT_FILES}" PARENT_SCOPE)
78
79
80 list(APPEND ${_SOURCES} ${_OUTPUT_FILES})
81 set(${_SOURCES} ${${_SOURCES}} PARENT_SCOPE)
82
76 add_custom_command(83 add_custom_command(
77 OUTPUT ${_OUTPUT_FILES}84 OUTPUT ${_OUTPUT_FILES}
78 COMMAND "${GDBUS_CODEGEN_EXECUTABLE}"85 COMMAND "${GDBUS_CODEGEN_EXECUTABLE}"
79 --interface-prefix ${PREFIX}86 --interface-prefix ${_PREFIX}
80 --generate-c-code="${NAME}"87 --generate-c-code="${_NAME}"
81 ${_NAMESPACE}88 ${_NAMESPACE}
82 ${_ABS_SERVICE_XML}89 ${_ABS_SERVICE_XML}
83 BYPRODUCTS ${_OUTPUT_FILES}
84 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}90 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
85 DEPENDS ${_ABS_SERVICE_XML}91 DEPENDS ${_ABS_SERVICE_XML}
86 )92 )

Subscribers

People subscribed via source and target branches

to all changes: