107
by Alan Griffiths
Tidy up dependencies |
1 |
pkg_check_modules(MIRSERVER mirserver>=0.20 REQUIRED) |
2 |
||
293.1.1
by Alan Griffiths
Reduce the number of build options we try to support |
3 |
if(${CMAKE_COMPILER_IS_GNUCXX}) |
4 |
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -flto") |
|
5 |
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -flto") |
|
6 |
set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -flto") |
|
7 |
set(CMAKE_AR "gcc-ar") |
|
8 |
set(CMAKE_NM "gcc-nm") |
|
9 |
set(CMAKE_RANLIB "gcc-ranlib") |
|
10 |
endif() |
|
11 |
||
248.1.5
by Alan Griffiths
Only publish public symbols from libmiral |
12 |
set(MIRAL_ABI 1) |
13 |
set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map) |
|
14 |
||
107
by Alan Griffiths
Tidy up dependencies |
15 |
include_directories(include SYSTEM ${MIRSERVER_INCLUDE_DIRS}) |
16 |
||
248.1.5
by Alan Griffiths
Only publish public symbols from libmiral |
17 |
add_library(miral-internal STATIC |
18 |
basic_window_manager.cpp basic_window_manager.h window_manager_tools_implementation.h |
|
441.2.2
by Alan Griffiths
Tidy CMakeLists.txt |
19 |
coordinate_translator.cpp coordinate_translator.h |
248.1.5
by Alan Griffiths
Only publish public symbols from libmiral |
20 |
mru_window_list.cpp mru_window_list.h |
353.2.10
by Alan Griffiths
Reformat CMakeLists.txt |
21 |
window_management_trace.cpp window_management_trace.h |
366.3.2
by Alan Griffiths
Add miral::CursorTheme |
22 |
xcursor_loader.cpp xcursor_loader.h |
23 |
xcursor.c xcursor.h |
|
268.3.7
by Alan Griffiths
Format CMakeLists.txt |
24 |
) |
248.1.5
by Alan Griffiths
Only publish public symbols from libmiral |
25 |
|
366.3.5
by Alan Griffiths
Compiler flags for xcursor.c |
26 |
set_source_files_properties(xcursor.c PROPERTIES COMPILE_FLAGS "${CMAKE_C_FLAGS} -std=c99 -D_GNU_SOURCE") |
27 |
||
1
by Alan Griffiths
Initial import of example code |
28 |
add_library(miral SHARED |
224.2.20
by Alan Griffiths
Consistency |
29 |
active_outputs.cpp ${CMAKE_SOURCE_DIR}/include/miral/active_outputs.h |
280.2.3
by Alan Griffiths
Resync symbols |
30 |
add_init_callback.cpp ${CMAKE_SOURCE_DIR}/include/miral/add_init_callback.h |
214.2.6
by Alan Griffiths
Start extracting C++ wrapper for toolkit API |
31 |
application.cpp ${CMAKE_SOURCE_DIR}/include/miral/application.h |
32 |
application_authorizer.cpp ${CMAKE_SOURCE_DIR}/include/miral/application_authorizer.h |
|
33 |
application_info.cpp ${CMAKE_SOURCE_DIR}/include/miral/application_info.h |
|
34 |
canonical_window_manager.cpp ${CMAKE_SOURCE_DIR}/include/miral/canonical_window_manager.h |
|
415.1.2
by Alan Griffiths
First draft miral::CommandLineOption |
35 |
command_line_option.cpp ${CMAKE_SOURCE_DIR}/include/miral/command_line_option.h |
366.3.2
by Alan Griffiths
Add miral::CursorTheme |
36 |
cursor_theme.cpp ${CMAKE_SOURCE_DIR}/include/miral/cursor_theme.h |
441.2.3
by Alan Griffiths
DebugExtensions => DebugExtension |
37 |
debug_extension.cpp ${CMAKE_SOURCE_DIR}/include/miral/debug_extension.h |
403.2.1
by Alan Griffiths
keymap interface |
38 |
keymap.cpp ${CMAKE_SOURCE_DIR}/include/miral/keymap.h |
214.2.6
by Alan Griffiths
Start extracting C++ wrapper for toolkit API |
39 |
runner.cpp ${CMAKE_SOURCE_DIR}/include/miral/runner.h |
40 |
display_configuration_option.cpp ${CMAKE_SOURCE_DIR}/include/miral/display_configuration_option.h |
|
224.2.20
by Alan Griffiths
Consistency |
41 |
output.cpp ${CMAKE_SOURCE_DIR}/include/miral/output.h |
277.2.4
by Alan Griffiths
Update naming to match |
42 |
append_event_filter.cpp ${CMAKE_SOURCE_DIR}/include/miral/append_event_filter.h |
214.2.6
by Alan Griffiths
Start extracting C++ wrapper for toolkit API |
43 |
window.cpp ${CMAKE_SOURCE_DIR}/include/miral/window.h |
44 |
window_info.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_info.h |
|
45 |
window_management_options.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_management_options.h |
|
46 |
window_specification.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_specification.h |
|
47 |
internal_client.cpp ${CMAKE_SOURCE_DIR}/include/miral/internal_client.h |
|
280.2.1
by Alan Griffiths
Add miral::SetCommandLineHandler |
48 |
set_command_line_hander.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_command_line_hander.h |
273.1.1
by Alan Griffiths
miral::SetTerminator |
49 |
set_terminator.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_terminator.h |
214.2.6
by Alan Griffiths
Start extracting C++ wrapper for toolkit API |
50 |
set_window_managment_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_window_managment_policy.h |
51 |
window_management_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_management_policy.h |
|
237.2.1
by Alan Griffiths
Introduce a level of indirection to WindowManagerTools |
52 |
window_manager_tools.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_manager_tools.h |
214.2.6
by Alan Griffiths
Start extracting C++ wrapper for toolkit API |
53 |
${CMAKE_SOURCE_DIR}/include/miral/toolkit/surface_spec.h |
268.3.1
by Alan Griffiths
Merge previous attempt |
54 |
${CMAKE_SOURCE_DIR}/include/miral/toolkit/persistent_id.h |
214.2.6
by Alan Griffiths
Start extracting C++ wrapper for toolkit API |
55 |
${CMAKE_SOURCE_DIR}/include/miral/toolkit/connection.h |
268.3.5
by Alan Griffiths
Scratch the original code |
56 |
${CMAKE_SOURCE_DIR}/include/miral/toolkit/surface.h |
366.3.2
by Alan Griffiths
Add miral::CursorTheme |
57 |
${CMAKE_SOURCE_DIR}/include/miral/detail/mir_forward_compatibility.h |
441.2.2
by Alan Griffiths
Tidy CMakeLists.txt |
58 |
) |
1
by Alan Griffiths
Initial import of example code |
59 |
|
60 |
target_link_libraries(miral |
|
92
by Alan Griffiths
Document that libmirserver should be a private lib dependency |
61 |
PUBLIC |
62 |
${MIRCLIENT_LDFLAGS} |
|
152.3.1
by Alan Griffiths
A bit of tidy-up of Mir dependencies |
63 |
${MIRCOMMON_LDFLAGS} |
64 |
PRIVATE |
|
248.1.5
by Alan Griffiths
Only publish public symbols from libmiral |
65 |
miral-internal |
92
by Alan Griffiths
Document that libmirserver should be a private lib dependency |
66 |
${MIRSERVER_LDFLAGS} |
105.1.1
by Brandon Schaefer
Install the shell + library |
67 |
) |
68 |
||
248.1.5
by Alan Griffiths
Only publish public symbols from libmiral |
69 |
set_target_properties(miral |
70 |
PROPERTIES |
|
71 |
SOVERSION ${MIRAL_ABI} |
|
72 |
LINK_FLAGS "-Wl,--exclude-libs=ALL -Wl,--version-script,${symbol_map}" |
|
257.2.8
by Alan Griffiths
Update symbols.map |
73 |
LINK_DEPENDS ${symbol_map} |
248.1.5
by Alan Griffiths
Only publish public symbols from libmiral |
74 |
) |
75 |
||
430.1.5
by Alan Griffiths
Script to filter the dpkg-gensymbols diff |
76 |
|
430.1.4
by Alan Griffiths
Add a warning when debian/libmiral1.symbols is out of step |
77 |
add_custom_target(check-symbols ALL |
78 |
DEPENDS miral ${PROJECT_SOURCE_DIR}/debian/libmiral1.symbols |
|
430.1.5
by Alan Griffiths
Script to filter the dpkg-gensymbols diff |
79 |
COMMAND dpkg-gensymbols -e${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/libmiral.so.1 -plibmiral1 | scripts/filter_symbols_diff.sh |
430.1.4
by Alan Griffiths
Add a warning when debian/libmiral1.symbols is out of step |
80 |
WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}" |
430.1.5
by Alan Griffiths
Script to filter the dpkg-gensymbols diff |
81 |
VERBATIM |
430.1.4
by Alan Griffiths
Add a warning when debian/libmiral1.symbols is out of step |
82 |
) |
83 |
||
300.1.1
by Alan Griffiths
Fix pkg-config file |
84 |
set(LIBDIR "${CMAKE_INSTALL_FULL_LIBDIR}") |
163.2.2
by Alan Griffiths
Match install locations to pkg-config options |
85 |
set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include/miral") |
86 |
||
158.1.1
by Alan Griffiths
Install headers and pkg-config support |
87 |
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/miral.pc.in |
88 |
${CMAKE_CURRENT_BINARY_DIR}/miral.pc |
|
89 |
@ONLY |
|
105.1.1
by Brandon Schaefer
Install the shell + library |
90 |
) |
158.1.1
by Alan Griffiths
Install headers and pkg-config support |
91 |
|
354.1.2
by Daniel d'Andrada
Make it build in xenial |
92 |
if (MIRSERVER_VERSION VERSION_LESS 0.24) |
93 |
set(MIR_POINTER_CONFINEMENT 0) |
|
94 |
else() |
|
95 |
set(MIR_POINTER_CONFINEMENT 1) |
|
96 |
endif() |
|
97 |
||
98 |
configure_file( |
|
99 |
${CMAKE_CURRENT_SOURCE_DIR}/mir_features.h.in |
|
100 |
${PROJECT_SOURCE_DIR}/include/miral/detail/mir_features.h |
|
101 |
) |
|
102 |
||
409.2.1
by Alan Griffiths
Add miral/version.h |
103 |
configure_file( |
104 |
${CMAKE_CURRENT_SOURCE_DIR}/version.h.in |
|
105 |
${PROJECT_SOURCE_DIR}/include/miral/version.h |
|
106 |
) |
|
107 |
||
260.2.4
by Alan Griffiths
Fix CMakeLists.txt to match |
108 |
install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}") |
163.2.2
by Alan Griffiths
Match install locations to pkg-config options |
109 |
install(DIRECTORY ${CMAKE_SOURCE_DIR}/include/ DESTINATION "${INCLUDEDIR}") |
260.2.4
by Alan Griffiths
Fix CMakeLists.txt to match |
110 |
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/miral.pc DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}/pkgconfig") |