~ubuntu-branches/ubuntu/trusty/libusermetrics/trusty-proposed

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
set(EXPORT_FILE_NAME UserMetricsInputExport.h)

FILE(
	GLOB USERMETRICSINPUT_PUBLIC_HEADERS
	RELATIVE "${INCLUDE_DIR}/libusermetricsinput"
	"${INCLUDE_DIR}/libusermetricsinput/*.h"
)

list(
	APPEND USERMETRICSINPUT_PUBLIC_HEADERS
	"${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_FILE_NAME}"
)

set(USERMETRICSINPUT_SOURCES
	Metric.cpp
	MetricImpl.cpp
	MetricManager.cpp
	MetricManagerImpl.cpp
	MetricUpdate.cpp
	MetricUpdateImpl.cpp
	usermetricsinput.cpp
)

set(USERMETRICS_INPUT_DEPENDENCIES
	Core
	DBus
)

# Static library version of libusermetricsinput

add_library(
	usermetricsinput-static
	STATIC
	${USERMETRICSINPUT_SOURCES}
)

qt5_use_modules(
	usermetricsinput-static
	${USERMETRICS_INPUT_DEPENDENCIES}
)

target_link_libraries(
	usermetricsinput-static
	usermetricscommon
)

set_target_properties(
	usermetricsinput-static
	PROPERTIES
	INPUT_NAME usermetricsinput
)

# Shared library version of libusermetricsinput

add_library(
	usermetricsinput
	SHARED
	${USERMETRICSINPUT_SOURCES}
)

generate_export_header(
	usermetricsinput
	EXPORT_FILE_NAME ${EXPORT_FILE_NAME}
)

configure_file(
	"${CMAKE_CURRENT_BINARY_DIR}/${EXPORT_FILE_NAME}"
	"${INCLUDE_BINARY_DIR}/libusermetricsinput/${EXPORT_FILE_NAME}"
)

qt5_use_modules(
	usermetricsinput
	${USERMETRICS_INPUT_DEPENDENCIES}
)

target_link_libraries(
	usermetricsinput
	usermetricscommon
)

set_target_properties(
	usermetricsinput
	PROPERTIES
	VERSION ${API_VERSION}.0.0
	SOVERSION ${ABI_VERSION}
	PUBLIC_HEADER "${USERMETRICSINPUT_PUBLIC_HEADERS}"
)

install(
  TARGETS usermetricsinput
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
  PUBLIC_HEADER DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/libusermetrics-${API_VERSION}/libusermetricsinput"
)

# Package config

set(LIBUSERMETRICSINPUT_PC "libusermetricsinput-${API_VERSION}.pc")
configure_file("libusermetricsinput.pc.in" "${CMAKE_CURRENT_BINARY_DIR}/${LIBUSERMETRICSINPUT_PC}" @ONLY)

install(
  FILES "${CMAKE_CURRENT_BINARY_DIR}/${LIBUSERMETRICSINPUT_PC}"
  DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig"
)

##########################
# Command line interface
##########################

add_executable(
	usermetricsinput-bin
	main.cpp
)

set_target_properties(
	usermetricsinput-bin
	PROPERTIES
	OUTPUT_NAME "usermetricsinput"
)

install(
  TARGETS usermetricsinput-bin
  RUNTIME DESTINATION bin
)

target_link_libraries(
	usermetricsinput-bin
	usermetricsinput
)