Merge lp:~alan-griffiths/miral/modernize-cmake into lp:miral

Proposed by Alan Griffiths on 2017-04-28
Status: Merged
Approved by: Gerry Boland on 2017-05-08
Approved revision: 553
Merged at revision: 553
Proposed branch: lp:~alan-griffiths/miral/modernize-cmake
Merge into: lp:miral
Diff against target: 175 lines (+61/-46)
4 files modified
CMakeLists.txt (+4/-4)
miral-shell/CMakeLists.txt (+3/-4)
miral-shell/spinner/CMakeLists.txt (+1/-0)
miral/CMakeLists.txt (+53/-38)
To merge this branch: bzr merge lp:~alan-griffiths/miral/modernize-cmake
Reviewer Review Type Date Requested Status
Gerry Boland 2017-04-28 Approve on 2017-05-08
Mir CI Bot continuous-integration Approve on 2017-04-28
Review via email: mp+323376@code.launchpad.net

Commit Message

Modernise CMake style

To post a comment you must log in.
Mir CI Bot (mir-ci-bot) wrote :
review: Needs Fixing (continuous-integration)
553. By Alan Griffiths on 2017-04-28

Fix install

Mir CI Bot (mir-ci-bot) wrote :

PASSED: Continuous integration, rev:553
https://mir-jenkins.ubuntu.com/job/miral-ci/14/
Executed test runs:
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-miral/23
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-0-fetch/4705
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=xenial+overlay/4694
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-1-sourcepkg/release=zesty/4694
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/28
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial/28/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial+overlay/28
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=xenial+overlay/28/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/28
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=amd64,release=zesty/28/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/28
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial/28/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial+overlay/28
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=xenial+overlay/28/artifact/output/*zip*/output.zip
    SUCCESS: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/28
        deb: https://mir-jenkins.ubuntu.com/job/build-2-binpkg-miral/arch=i386,release=zesty/28/artifact/output/*zip*/output.zip

Click here to trigger a rebuild:
https://mir-jenkins.ubuntu.com/job/miral-ci/14/rebuild

review: Approve (continuous-integration)
Gerry Boland (gerboland) wrote :

lgtm

review: Approve

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'CMakeLists.txt'
2--- CMakeLists.txt 2017-03-31 16:20:56 +0000
3+++ CMakeLists.txt 2017-04-28 09:58:08 +0000
4@@ -1,4 +1,7 @@
5-cmake_minimum_required(VERSION 3.1)
6+cmake_minimum_required(VERSION 3.5)
7+cmake_policy(SET CMP0015 NEW)
8+cmake_policy(SET CMP0022 NEW)
9+
10 project(miral)
11
12 if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
13@@ -8,9 +11,6 @@
14 include (GNUInstallDirs)
15 include(CheckCXXCompilerFlag)
16
17-cmake_policy(SET CMP0015 NEW)
18-cmake_policy(SET CMP0022 NEW)
19-
20 set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
21
22 set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
23
24=== modified file 'miral-shell/CMakeLists.txt'
25--- miral-shell/CMakeLists.txt 2017-04-18 15:12:42 +0000
26+++ miral-shell/CMakeLists.txt 2017-04-28 09:58:08 +0000
27@@ -50,13 +50,12 @@
28 )
29
30 pkg_check_modules(FREETYPE freetype2 REQUIRED)
31-target_include_directories(miral-shell PUBLIC ${FREETYPE_INCLUDE_DIRS})
32-target_compile_definitions(miral-shell PUBLIC -DTYPO_SUPPORTS_FREETYPE)
33-target_link_libraries(miral-shell ${FREETYPE_LIBRARIES})
34-
35+target_include_directories(miral-shell PRIVATE ${FREETYPE_INCLUDE_DIRS})
36+target_compile_definitions(miral-shell PRIVATE -DTYPO_SUPPORTS_FREETYPE)
37 target_link_libraries(miral-shell
38 miral-spinner
39 miral
40+ ${FREETYPE_LIBRARIES}
41 )
42
43 install(TARGETS miral-shell
44
45=== modified file 'miral-shell/spinner/CMakeLists.txt'
46--- miral-shell/spinner/CMakeLists.txt 2016-05-20 09:20:19 +0000
47+++ miral-shell/spinner/CMakeLists.txt 2017-04-28 09:58:08 +0000
48@@ -59,6 +59,7 @@
49 )
50
51 target_link_libraries(miral-spinner
52+ mirclientcpp
53 EGL
54 ${GLIB_LDFLAGS}
55 ${GLESv2_LIBRARIES}
56
57=== modified file 'miral/CMakeLists.txt'
58--- miral/CMakeLists.txt 2017-03-22 11:09:51 +0000
59+++ miral/CMakeLists.txt 2017-04-28 09:58:08 +0000
60@@ -11,8 +11,9 @@
61
62 set(MIRAL_ABI 2)
63 set(symbol_map ${CMAKE_CURRENT_SOURCE_DIR}/symbols.map)
64+set(miral_include ${PROJECT_SOURCE_DIR}/include)
65
66-include_directories(include SYSTEM ${MIRSERVER_INCLUDE_DIRS})
67+add_library(mirclientcpp INTERFACE)
68
69 add_library(miral-internal STATIC
70 basic_window_manager.cpp basic_window_manager.h window_manager_tools_implementation.h
71@@ -28,40 +29,54 @@
72 set_source_files_properties(xcursor.c PROPERTIES COMPILE_DEFINITIONS _GNU_SOURCE)
73
74 add_library(miral SHARED
75- active_outputs.cpp ${CMAKE_SOURCE_DIR}/include/miral/active_outputs.h
76- add_init_callback.cpp ${CMAKE_SOURCE_DIR}/include/miral/add_init_callback.h
77- application.cpp ${CMAKE_SOURCE_DIR}/include/miral/application.h
78- application_authorizer.cpp ${CMAKE_SOURCE_DIR}/include/miral/application_authorizer.h
79- application_info.cpp ${CMAKE_SOURCE_DIR}/include/miral/application_info.h
80- canonical_window_manager.cpp ${CMAKE_SOURCE_DIR}/include/miral/canonical_window_manager.h
81- command_line_option.cpp ${CMAKE_SOURCE_DIR}/include/miral/command_line_option.h
82- cursor_theme.cpp ${CMAKE_SOURCE_DIR}/include/miral/cursor_theme.h
83- debug_extension.cpp ${CMAKE_SOURCE_DIR}/include/miral/debug_extension.h
84- keymap.cpp ${CMAKE_SOURCE_DIR}/include/miral/keymap.h
85- runner.cpp ${CMAKE_SOURCE_DIR}/include/miral/runner.h
86- display_configuration_option.cpp ${CMAKE_SOURCE_DIR}/include/miral/display_configuration_option.h
87- output.cpp ${CMAKE_SOURCE_DIR}/include/miral/output.h
88- append_event_filter.cpp ${CMAKE_SOURCE_DIR}/include/miral/append_event_filter.h
89- window.cpp ${CMAKE_SOURCE_DIR}/include/miral/window.h
90- window_info.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_info.h
91- window_management_options.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_management_options.h
92- window_specification.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_specification.h
93- internal_client.cpp ${CMAKE_SOURCE_DIR}/include/miral/internal_client.h
94- set_command_line_handler.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_command_line_handler.h
95- set_terminator.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_terminator.h
96- set_window_management_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/set_window_management_policy.h
97- workspace_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/workspace_policy.h
98- window_management_policy.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_management_policy.h
99- window_manager_tools.cpp ${CMAKE_SOURCE_DIR}/include/miral/window_manager_tools.h
100- ${CMAKE_SOURCE_DIR}/include/mir/client/blob.h
101- ${CMAKE_SOURCE_DIR}/include/mir/client/cookie.h
102- ${CMAKE_SOURCE_DIR}/include/mir/client/window_spec.h
103- ${CMAKE_SOURCE_DIR}/include/mir/client/window_id.h
104- ${CMAKE_SOURCE_DIR}/include/mir/client/connection.h
105- ${CMAKE_SOURCE_DIR}/include/mir/client/display_config.h
106- ${CMAKE_SOURCE_DIR}/include/mir/client/window.h
107- ${CMAKE_SOURCE_DIR}/include/mir/client/detail/mir_forward_compatibility.h
108- ${CMAKE_SOURCE_DIR}/include/miral/window_management_policy_addendum2.h
109+ active_outputs.cpp ${miral_include}/miral/active_outputs.h
110+ add_init_callback.cpp ${miral_include}/miral/add_init_callback.h
111+ application.cpp ${miral_include}/miral/application.h
112+ application_authorizer.cpp ${miral_include}/miral/application_authorizer.h
113+ application_info.cpp ${miral_include}/miral/application_info.h
114+ canonical_window_manager.cpp ${miral_include}/miral/canonical_window_manager.h
115+ command_line_option.cpp ${miral_include}/miral/command_line_option.h
116+ cursor_theme.cpp ${miral_include}/miral/cursor_theme.h
117+ debug_extension.cpp ${miral_include}/miral/debug_extension.h
118+ keymap.cpp ${miral_include}/miral/keymap.h
119+ runner.cpp ${miral_include}/miral/runner.h
120+ display_configuration_option.cpp ${miral_include}/miral/display_configuration_option.h
121+ output.cpp ${miral_include}/miral/output.h
122+ append_event_filter.cpp ${miral_include}/miral/append_event_filter.h
123+ window.cpp ${miral_include}/miral/window.h
124+ window_info.cpp ${miral_include}/miral/window_info.h
125+ window_management_options.cpp ${miral_include}/miral/window_management_options.h
126+ window_specification.cpp ${miral_include}/miral/window_specification.h
127+ internal_client.cpp ${miral_include}/miral/internal_client.h
128+ set_command_line_handler.cpp ${miral_include}/miral/set_command_line_handler.h
129+ set_terminator.cpp ${miral_include}/miral/set_terminator.h
130+ set_window_management_policy.cpp ${miral_include}/miral/set_window_management_policy.h
131+ workspace_policy.cpp ${miral_include}/miral/workspace_policy.h
132+ window_management_policy.cpp ${miral_include}/miral/window_management_policy.h
133+ window_manager_tools.cpp ${miral_include}/miral/window_manager_tools.h
134+ ${miral_include}/miral/window_management_policy_addendum2.h
135+ ${miral_include}/mir/client/blob.h
136+ ${miral_include}/mir/client/cookie.h
137+ ${miral_include}/mir/client/window_spec.h
138+ ${miral_include}/mir/client/window_id.h
139+ ${miral_include}/mir/client/connection.h
140+ ${miral_include}/mir/client/display_config.h
141+ ${miral_include}/mir/client/window.h
142+ ${miral_include}/mir/client/detail/mir_forward_compatibility.h
143+)
144+
145+target_include_directories(mirclientcpp
146+ INTERFACE "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS}
147+)
148+
149+target_include_directories(miral-internal
150+ PRIVATE "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS}
151+ PRIVATE ${MIRSERVER_INCLUDE_DIRS}
152+)
153+
154+target_include_directories(miral
155+ PUBLIC "${miral_include}" ${MIRCLIENT_INCLUDE_DIRS}
156+ PRIVATE ${MIRSERVER_INCLUDE_DIRS}
157 )
158
159 target_link_libraries(miral
160@@ -114,12 +129,12 @@
161
162 configure_file(
163 ${CMAKE_CURRENT_SOURCE_DIR}/mir_features.h.in
164- ${PROJECT_SOURCE_DIR}/include/mir/client/detail/mir_features.h
165+ ${miral_include}/mir/client/detail/mir_features.h
166 )
167
168 configure_file(
169- ${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
170- ${PROJECT_SOURCE_DIR}/include/miral/version.h
171+ ${CMAKE_CURRENT_SOURCE_DIR}/version.h.in
172+ ${miral_include}/miral/version.h
173 )
174
175 install(TARGETS miral LIBRARY DESTINATION "${CMAKE_INSTALL_FULL_LIBDIR}")

Subscribers

People subscribed via source and target branches