~jbicha/hud/build-depend-on-valac-not-gir

« back to all changes in this revision

Viewing changes to libhud-client/CMakeLists.txt

  • Committer: Tarmac
  • Author(s): Ted Gould, Pete Woods, Antti Kaijanmäki, Ted Gould, Albert Astals, Ryan Lortie, Łukasz 'sil2100' Zemczak, Albert Astals Cid, Mathieu Trudel-Lapierre, Kaleo, Tarmac, Ricardo Salveti de Araujo, Michael Terry, Automatic PS uploader
  • Date: 2013-04-10 16:04:51 UTC
  • mfrom: (227.3.148 phablet)
  • Revision ID: tarmac-20130410160451-o3owpv3zaxulm5of
HUD 2.0 Merge.

Approved by PS Jenkins bot, Mathieu Trudel-Lapierre.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
 
 
2
set(HUD_CLIENT_INCLUDE_DIRS
 
3
${CMAKE_CURRENT_SOURCE_DIR}
 
4
${CMAKE_CURRENT_BINARY_DIR}
 
5
)
 
6
 
 
7
set(HUD_CLIENT_INCLUDE_DIRS
 
8
${HUD_CLIENT_INCLUDE_DIRS}
 
9
PARENT_SCOPE
 
10
)
 
11
 
 
12
include_directories(${HUD_CLIENT_INCLUDE_DIRS})
 
13
 
 
14
# FIXME would rather not include this dir
 
15
include_directories(${HUD_SRC_DIR})
 
16
 
 
17
add_definitions( -DHUD_CLIENT_COMPILATION=1 )
 
18
 
 
19
###########################
 
20
# Version Information
 
21
###########################
 
22
 
 
23
set(API_VERSION 2)
 
24
set(ABI_VERSION 2)
 
25
 
 
26
###########################
 
27
# Generated Hud Client
 
28
###########################
 
29
 
 
30
set(HUD_CLIENT_GENERATED_HEADERS
 
31
service-iface.h
 
32
query-iface.h
 
33
)
 
34
 
 
35
set(HUD_CLIENT_GENERATED_SOURCES
 
36
)
 
37
 
 
38
add_gdbus_codegen(
 
39
OUTFILES HUD_CLIENT_GENERATED_SOURCES
 
40
NAME service-iface
 
41
PREFIX com.canonical.hud.
 
42
NAMESPACE _HudService
 
43
SERVICE_XML ${HUD_SERVICE_XML}
 
44
)
 
45
 
 
46
add_gdbus_codegen(
 
47
OUTFILES HUD_CLIENT_GENERATED_SOURCES
 
48
NAME query-iface
 
49
PREFIX com.canonical.hud.query.
 
50
NAMESPACE _HudQuery
 
51
SERVICE_XML ${HUD_QUERY_XML}
 
52
)
 
53
 
 
54
add_library(hud-client-generated STATIC ${HUD_CLIENT_GENERATED_SOURCES})
 
55
 
 
56
target_link_libraries(hud-client-generated
 
57
${GLIB2_LIBRARIES}
 
58
${GOBJECT2_LIBRARIES}
 
59
${GIO2_LIBRARIES}
 
60
${DEE_LIBRARIES}
 
61
)
 
62
 
 
63
###########################
 
64
# Hud Client
 
65
###########################
 
66
 
 
67
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden")
 
68
 
 
69
set(HUD_CLIENT_MAIN_HEADERS
 
70
hud-client.h
 
71
)
 
72
 
 
73
set(HUD_CLIENT_HEADERS
 
74
connection.h
 
75
param.h
 
76
query.h
 
77
${CMAKE_SOURCE_DIR}/src/query-columns.h
 
78
)
 
79
 
 
80
set(HUD_CLIENT_SOURCES
 
81
connection.c
 
82
param.c
 
83
query.c
 
84
)
 
85
 
 
86
add_glib_enumtypes_t(HUD_CLIENT_SOURCES
 
87
enum-types
 
88
enum-types.h.in
 
89
enum-types.c.in
 
90
${HUD_CLIENT_HEADERS}
 
91
)
 
92
list(APPEND HUD_CLIENT_HEADERS ${CMAKE_CURRENT_BINARY_DIR}/enum-types.h)
 
93
 
 
94
add_library(hud-client SHARED ${HUD_CLIENT_SOURCES})
 
95
 
 
96
set_target_properties(hud-client PROPERTIES
 
97
  VERSION ${API_VERSION}.0.0
 
98
  SOVERSION ${ABI_VERSION}
 
99
  OUTPUT_NAME "hud-client"
 
100
)
 
101
 
 
102
target_link_libraries(hud-client
 
103
hud-client-generated
 
104
${GLIB2_LIBRARIES}
 
105
${GOBJECT2_LIBRARIES}
 
106
-Wl,--no-undefined
 
107
)
 
108
 
 
109
###########################
 
110
# Pkg Config
 
111
###########################
 
112
 
 
113
set(HUD_CLIENT_PC "hud-client-${API_VERSION}.pc")
 
114
set(apiversion "${API_VERSION}")
 
115
set(libdir "${CMAKE_INSTALL_FULL_LIBDIR}")
 
116
set(includedir "${CMAKE_INSTALL_FULL_INCLUDEDIR}")
 
117
set(VERSION "${ABI_VERSION}")
 
118
configure_file("hud-client.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/${HUD_CLIENT_PC}" @ONLY)
 
119
 
 
120
###########################
 
121
# GObject Introspection
 
122
###########################
 
123
 
 
124
if(${INTROSPECTION_FOUND})
 
125
  include(UseGObjectIntrospection)
 
126
  set(INTROSPECTION_GIRS)
 
127
 
 
128
  set(_introspection_files ${HUD_CLIENT_SOURCES} ${HUD_CLIENT_HEADERS})
 
129
  set(HudClient_2_gir "hud-client")
 
130
  set(HudClient_2_gir_INCLUDES GObject-2.0 Dee-1.0)
 
131
  
 
132
  gir_get_cflags(_cflags)
 
133
  set(HudClient_2_gir_CFLAGS ${_cflags})
 
134
  
 
135
  set(HudClient_2_gir_LIBS hud-client)
 
136
  
 
137
  list_make_absolute(_abs_introspection_files _introspection_files "${CMAKE_CURRENT_SOURCE_DIR}/")
 
138
  set(HudClient_2_gir_FILES ${_abs_introspection_files})
 
139
  set(HudClient_2_gir_SCANNERFLAGS --c-include "hud-client.h")
 
140
  set(HudClient_2_gir_EXPORT_PACKAGES "hud-client-${API_VERSION}")
 
141
 
 
142
  list(APPEND INTROSPECTION_GIRS HudClient-2.gir)
 
143
  gir_add_introspections(INTROSPECTION_GIRS)
 
144
else()
 
145
  message("Not performing GIR as required tools not found")
 
146
endif()
 
147
 
 
148
###########################
 
149
# libhud-client Vala
 
150
###########################
 
151
 
 
152
if(${VALA_FOUND})
 
153
if(${INTROSPECTION_FOUND})
 
154
 
 
155
vapi_gen(hud-client-vapi
 
156
  INPUT
 
157
        HudClient-2.gir
 
158
  PACKAGES
 
159
    gio-2.0
 
160
  LIBRARY
 
161
    HudClient-2
 
162
)
 
163
 
 
164
install(
 
165
  FILES
 
166
    ${hud-client-vapi_OUTPUT}
 
167
  DESTINATION
 
168
    "${CMAKE_INSTALL_DATADIR}/vala/vapi"
 
169
)
 
170
 
 
171
endif()
 
172
endif()
 
173
 
 
174
 
 
175
###########################
 
176
# Installation
 
177
###########################
 
178
 
 
179
install(
 
180
  FILES ${HUD_CLIENT_MAIN_HEADERS}
 
181
  DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libhud-client-${API_VERSION}"
 
182
)
 
183
 
 
184
install(
 
185
  FILES ${HUD_CLIENT_HEADERS}
 
186
  DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libhud-client-${API_VERSION}/libhud-client"
 
187
)
 
188
 
 
189
install(
 
190
  FILES "${CMAKE_CURRENT_BINARY_DIR}/${HUD_CLIENT_PC}"
 
191
  DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
 
192
)
 
193
 
 
194
install(
 
195
  TARGETS hud-client
 
196
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
 
197
)