~ubuntu-branches/ubuntu/wily/mir/wily-proposed

« back to all changes in this revision

Viewing changes to src/client/CMakeLists.txt

  • Committer: Package Import Robot
  • Author(s): CI Train Bot
  • Date: 2015-05-12 13:12:55 UTC
  • mto: This revision was merged to the branch mainline in revision 96.
  • Revision ID: package-import@ubuntu.com-20150512131255-y7z12i8n4pbvo70x
Tags: upstream-0.13.0+15.10.20150512
ImportĀ upstreamĀ versionĀ 0.13.0+15.10.20150512

Show diffs side-by-side

added added

removed removed

Lines of Context:
30
30
add_definitions(-DCLIENT_PLATFORM_VERSION="${MIR_CLIENT_PLATFORM_VERSION}")
31
31
add_definitions(-DMIR_LOGGING_COMPONENT_FALLBACK="mirclient")
32
32
 
 
33
set(MIR_CLIENT_SOURCES)
 
34
set(MIR_CLIENT_REFERENCES mircommon)
 
35
 
33
36
add_subdirectory(rpc/)
34
37
add_subdirectory(lttng/)
 
38
add_subdirectory(events)
 
39
add_subdirectory(input)
35
40
 
36
41
add_library(mirclientobjects OBJECT
37
42
 
38
43
  client_buffer_depository.cpp
39
44
  display_configuration.cpp
40
45
  error_connections.cpp
 
46
  event.cpp
 
47
  event_printer.cpp
41
48
  mir_connection.cpp
42
49
  mir_connection_api.cpp
43
50
  mir_wait_handle.cpp
61
68
  periodic_perf_report.cpp
62
69
  mir_platform_message_api.cpp
63
70
  buffer_stream.cpp
 
71
  mir_buffer_stream_api.cpp
64
72
  default_client_buffer_stream_factory.cpp
 
73
  ${MIR_CLIENT_SOURCES}
65
74
)
66
75
 
67
76
# Ensure protobuf C++ headers have been produced before
68
77
# trying to compile mirclientobjects
69
78
add_dependencies(mirclientobjects mirprotobuf)
70
79
 
71
 
add_library(mirclient SHARED
72
 
 
73
 
  $<TARGET_OBJECTS:mirclientobjects>
74
 
)
 
80
add_library(mirclient SHARED $<TARGET_OBJECTS:mirclientobjects> $<TARGET_OBJECTS:mirsharedinput>)
 
81
add_library(mirclient-static STATIC $<TARGET_OBJECTS:mirclientobjects> $<TARGET_OBJECTS:mirsharedinput>)
75
82
 
76
83
set_target_properties(mirclient
77
84
 
80
87
  LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}"
81
88
)
82
89
 
83
 
target_link_libraries(mirclient
84
 
  mirclientrpc
85
 
  mirclientlttngstatic
 
90
set(LINKS
86
91
  mircommon
87
92
  mirprotobuf
88
93
 
89
 
  ${Boost_LIBRARIES}
90
 
  ${CMAKE_THREAD_LIBS_INIT}
91
94
  ${XKBCOMMON_LIBRARIES}
92
95
)
93
96
 
 
97
target_link_libraries(mirclient
 
98
  PRIVATE
 
99
  mirclientrpc-static
 
100
  mirclientlttng-static
 
101
  PUBLIC
 
102
  ${MIR_CLIENT_REFERENCES}
 
103
  ${LINKS}
 
104
)
 
105
 
94
106
install(
95
107
  TARGETS mirclient
96
108
  LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
98
110
 
99
111
install(
100
112
  DIRECTORY ${CMAKE_SOURCE_DIR}/include/client/mir_toolkit
 
113
            ${CMAKE_SOURCE_DIR}/include/client/mir
101
114
  DESTINATION "include/mirclient"
102
115
)
103
116
 
106
119
  DESTINATION ${CMAKE_INSTALL_LIBDIR}/pkgconfig
107
120
)
108
121
 
109
 
# TODO: Extension apparatus so that mirclient-debug-extension can be a MODULE and not
110
 
#       duplicate (almost) the entirity of mirclient
111
 
 
112
122
set(MIRCLIENT_DEBUG_EXTENSION_ABI 1)
113
123
 
114
 
add_library(
115
 
  mirclient-debug-extension SHARED
116
 
 
 
124
add_library(mirclient-debug-extension SHARED
117
125
  mir_debug_api.cpp
118
 
  $<TARGET_OBJECTS:mirclientobjects>
119
126
)
120
127
 
121
 
target_link_libraries(
122
 
  mirclient-debug-extension
123
 
 
124
 
  mirclient
 
128
target_link_libraries(mirclient-debug-extension
 
129
  PRIVATE
 
130
  mirclient-static  # Link statically; only copy what you need.
 
131
                    # This allows access to private symbols normally hidden
 
132
                    # in the shared version of libmirclient.
 
133
  mirclientrpc-static
 
134
  mirclientlttng-static
 
135
  PUBLIC
 
136
  ${LINKS}
125
137
)
126
138
 
127
139
set(debug_symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols-debug.map)
131
143
 
132
144
  PROPERTIES
133
145
  SOVERSION ${MIRCLIENT_DEBUG_EXTENSION_ABI}
134
 
  LINK_FLAGS "-Wl,--version-script,${debug_symbol_map}"
 
146
  LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${debug_symbol_map}"
135
147
)
136
148
 
137
149
install(