~ubuntuone-hackers/ubuntu-download-manager/vivid

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
pkg_check_modules(GLOG libglog)

set(TARGET udm-common)

set(SOURCES
	ubuntu/transfers/metadata.cpp
	ubuntu/transfers/errors/auth_error_struct.cpp
	ubuntu/transfers/errors/hash_error_struct.cpp
	ubuntu/transfers/errors/http_error_struct.cpp
	ubuntu/transfers/errors/network_error_struct.cpp
	ubuntu/transfers/errors/process_error_struct.cpp
	ubuntu/transfers/system/dbus_connection.cpp
	ubuntu/transfers/system/hash_algorithm.cpp
	ubuntu/transfers/system/logger.cpp
)

set(TRANSFERS_PUBLIC_HEADERS
	ubuntu/transfers/metadata.h
	ubuntu/transfers/visibility.h
)

set(ERRORS_PUBLIC_HEADERS
	ubuntu/transfers/errors/auth_error_struct.h
	ubuntu/transfers/errors/hash_error_struct.h
	ubuntu/transfers/errors/http_error_struct.h
	ubuntu/transfers/errors/network_error_struct.h
	ubuntu/transfers/errors/process_error_struct.h
)

set(PRIVATE_HEADERS
	ubuntu/transfers/system/dbus_connection.h
	ubuntu/transfers/system/hash_algorithm.h
	ubuntu/transfers/system/logger.h
)

include_directories(${Qt5DBus_INCLUDE_DIRS})
include_directories(${Qt5Network_INCLUDE_DIRS})

add_library(${TARGET} SHARED
	${SOURCES}
	${TRANSFERS_PUBLIC_HEADERS}
	${ERRORS_PUBLIC_HEADERS}
	${PRIVATE_HEADERS}
)

set(symbol_map "${CMAKE_SOURCE_DIR}/src/common/public/symbols.map")
set_target_properties(
	${TARGET}

	PROPERTIES
        LINK_FLAGS "${ldflags} -Wl,--version-script,${symbol_map}"
        LINK_DEPENDS ${symbol_map}
	VERSION ${UDM_VERSION_MAJOR}.${UDM_VERSION_MINOR}.${UDM_VERSION_PATCH}
	SOVERSION ${UDM_VERSION_MAJOR}
)

target_link_libraries(${TARGET}
	${Qt5DBus_LIBRARIES}
	${Qt5Network_LIBRARIES}
	glog
)

configure_file(${TARGET}.pc.in ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc @ONLY)

install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}.pc DESTINATION ${CMAKE_INSTALL_LIBEXECDIR}/pkgconfig)
install(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_LIBDIR})
install(FILES ${TRANSFERS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ubuntu/transfers)
install(FILES ${ERRORS_PUBLIC_HEADERS} DESTINATION ${CMAKE_INSTALL_INCLUDEDIR}/ubuntu/transfers/errors)