Mir

Merge lp:~robert-ancell/mir/server-headers into lp:~mir-team/mir/trunk

Proposed by Robert Ancell
Status: Superseded
Proposed branch: lp:~robert-ancell/mir/server-headers
Merge into: lp:~mir-team/mir/trunk
Diff against target: 33 lines (+9/-0)
2 files modified
debian/libmirserver-dev.install (+1/-0)
src/server/CMakeLists.txt (+8/-0)
To merge this branch: bzr merge lp:~robert-ancell/mir/server-headers
Reviewer Review Type Date Requested Status
PS Jenkins bot (community) continuous-integration Approve
Alan Griffiths Needs Fixing
Robert Carr (community) Needs Fixing
Daniel van Vugt Needs Fixing
Thomas Voß (community) Needs Fixing
Review via email: mp+153281@code.launchpad.net

This proposal has been superseded by a proposal from 2013-03-20.

Commit message

Correctly substitute into mirserver.pc and install server header files

Description of the change

Install the server headers so that Mir compositors can be developed separately from lp:mir

To post a comment you must log in.
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Thomas Voß (thomas-voss) wrote :

Looks good, a minor niggle: Could you rename SERVER_PUBLIC_HEADERS to MIR_SERVER_PUBLIC_HEADERS to match the naming pattern?

review: Needs Fixing
Revision history for this message
Daniel van Vugt (vanvugt) wrote :

Is this a full or partial resolution for bug 1136938?

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

P.S. I think Thomas is wrong. SERVER_PUBLIC_HEADERS is a local variable. It does not need a namespace "MIR_" prefix.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

I used to distinguish locals by making them lower case. We could start doing that...

Revision history for this message
Robert Ancell (robert-ancell) wrote :

Yes, it does fix bug 1136938.

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It works well. Stylistically I have no immediate complaint. And bug 1136938 is indeed fixed.

However the list of "server headers" is very long. Some headers such as:
    ${CMAKE_SOURCE_DIR}/include/server/mir/graphics/gl_renderer.h
should not be installed as part of the server (that one is for example code and tests only). There will probably be other such headers that should not be in that list so please re-evaluate the minimum set of headers you really need right now.

review: Needs Fixing
Revision history for this message
Robert Ancell (robert-ancell) wrote :

> Looks good, a minor niggle: Could you rename SERVER_PUBLIC_HEADERS to
> MIR_SERVER_PUBLIC_HEADERS to match the naming pattern?

This matches CLIENT_PUBLIC_HEADERS in src/client/CMakeLists.txt so I'll leave that as consistent. If the naming is wrong it should be updated for both in a separate patch.

Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I don't like this being a list of individual files - there's too much chance of it getting out of step.

I would expect everything under either include/common/mir or include/server/mir to be part of this.

IMO if there are things there that shouldn't be exposed then that is a separate issue.

review: Needs Fixing
Revision history for this message
Robert Carr (robertcarr) wrote :

I agree, it should use install(DIRECTORY,

review: Needs Fixing
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :

FAILED: Continuous integration, rev:499
http://jenkins.qa.ubuntu.com/job/mir-ci/104/
Executed test runs:
    FAILURE: http://jenkins.qa.ubuntu.com/job/mir-quantal-amd64-ci/105/console

Click here to trigger a rebuild:
http://jenkins.qa.ubuntu.com/job/mir-ci/104/rebuild

review: Needs Fixing (continuous-integration)
Revision history for this message
Robert Ancell (robert-ancell) wrote :

Updated, I think this addresses the concerns listed:

Thomas - variable no longer exists
Alan, Robert - whole directory now installed
Daniel - still probably installs headers that are not required, however I agree with Alan here that these headers should not be in include/server if that is the case.

Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)
Revision history for this message
Alan Griffiths (alan-griffiths) wrote :

I would expect everything under either include/common/mir or include/server/mir to be part of this.

review: Needs Fixing
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Needs Fixing (continuous-integration)
Revision history for this message
PS Jenkins bot (ps-jenkins) wrote :
review: Approve (continuous-integration)

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'debian/libmirserver-dev.install'
2--- debian/libmirserver-dev.install 2013-02-01 11:08:00 +0000
3+++ debian/libmirserver-dev.install 2013-03-20 01:29:23 +0000
4@@ -1,2 +1,3 @@
5+usr/include/mir/server
6 usr/lib/pkgconfig/mirserver.pc
7 usr/lib/libmirserver.so
8
9=== modified file 'src/server/CMakeLists.txt'
10--- src/server/CMakeLists.txt 2013-03-11 17:42:55 +0000
11+++ src/server/CMakeLists.txt 2013-03-20 01:29:23 +0000
12@@ -9,6 +9,11 @@
13 add_subdirectory(frontend/)
14 add_subdirectory(shell/)
15
16+set(PREFIX "${CMAKE_INSTALL_PREFIX}")
17+set(EXEC_PREFIX "${CMAKE_INSTALL_PREFIX}")
18+set(LIBDIR "${CMAKE_INSTALL_PREFIX}/lib")
19+set(INCLUDEDIR "${CMAKE_INSTALL_PREFIX}/include/mir/server")
20+
21 configure_file(
22 ${CMAKE_CURRENT_SOURCE_DIR}/mirserver.pc.in
23 ${CMAKE_CURRENT_BINARY_DIR}/mirserver.pc
24@@ -62,6 +67,9 @@
25 install(TARGETS mirserver
26 LIBRARY DESTINATION lib
27 )
28+ install(DIRECTORY
29+ ${CMAKE_SOURCE_DIR}/include/server DESTINATION "include/mir"
30+ )
31 else()
32 target_link_libraries(mirserver
33 LINK_PUBLIC

Subscribers

People subscribed via source and target branches