Magellan Linux

Contents of /trunk/musicbrainz/patches/musicbrainz-5.0.1-support-out-of-source-build.patch

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1909 - (show annotations) (download)
Fri Oct 12 11:36:11 2012 UTC (11 years, 6 months ago) by niro
File size: 5514 byte(s)
-fixed the patch
1 From b74fd9680c20f8cbdbcf6cdff9ee1074c55fe1c1 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Lalinsk=C3=BD?= <lalinsky@gmail.com>
3 Date: Thu, 14 Jun 2012 09:58:41 +0200
4 Subject: [PATCH] Support out-of-source build
5
6 http://tickets.musicbrainz.org/browse/LMB-10
7 https://github.com/metabrainz/libmusicbrainz/issues/1
8 ---
9 examples/CMakeLists.txt | 5 ++++-
10 src/CMakeLists.txt | 9 +++++++--
11 src/make-c-interface.cc | 8 ++++----
12 tests/CMakeLists.txt | 5 ++++-
13 4 files changed, 19 insertions(+), 8 deletions(-)
14
15 diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
16 index 3e11469..000d4aa 100644
17 --- a/examples/CMakeLists.txt
18 +++ b/examples/CMakeLists.txt
19 @@ -1,4 +1,7 @@
20 -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include)
21 +INCLUDE_DIRECTORIES(
22 + ${CMAKE_CURRENT_SOURCE_DIR}/../include
23 + ${CMAKE_CURRENT_BINARY_DIR}/../include
24 +)
25 LINK_LIBRARIES(musicbrainz5 ${NEON_LIBRARIES})
26
27 ADD_EXECUTABLE(cdlookup cdlookup.cc)
28 diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
29 index 2ee102f..89ab63c 100644
30 --- a/src/CMakeLists.txt
31 +++ b/src/CMakeLists.txt
32 @@ -1,5 +1,10 @@
33 SET(CMAKE_INCLUDE_CURRENT_DIR ON)
34 -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/../include ${NEON_INCLUDE_DIR})
35 +INCLUDE_DIRECTORIES(
36 + ${CMAKE_CURRENT_SOURCE_DIR}/..
37 + ${CMAKE_CURRENT_SOURCE_DIR}/../include
38 + ${CMAKE_CURRENT_BINARY_DIR}/../include
39 + ${NEON_INCLUDE_DIR}
40 +)
41
42 SET(_sources Alias.cc Annotation.cc Artist.cc ArtistCredit.cc Attribute.cc CDStub.cc Collection.cc
43 Disc.cc Entity.cc FreeDBDisc.cc HTTPFetch.cc ISRC.cc Label.cc LabelInfo.cc Lifespan.cc List.cc
44 @@ -13,7 +18,7 @@ ADD_EXECUTABLE(make-c-interface make-c-interface.cc xmlParser.cpp)
45 ADD_CUSTOM_COMMAND(
46 OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.cc ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5/mb5_c.h
47 COMMAND make-c-interface ${CMAKE_CURRENT_SOURCE_DIR} cinterface.xml ${CMAKE_CURRENT_BINARY_DIR} mb5_c.cc mb5_c.h
48 - COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5
49 + COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5/mb5_c.h
50 DEPENDS make-c-interface cinterface.xml *.inc
51 )
52
53 diff --git a/src/make-c-interface.cc b/src/make-c-interface.cc
54 index 652a65b..70dd6d7 100644
55 --- a/src/make-c-interface.cc
56 +++ b/src/make-c-interface.cc
57 @@ -33,7 +33,7 @@
58
59 #include "musicbrainz5/xmlParser.h"
60
61 -void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
62 +void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include, const std::string& Path);
63 void ProcessHeader(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
64 void ProcessEntity(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
65 void ProcessClass(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
66 @@ -80,7 +80,7 @@ int main(int argc, const char *argv[])
67 std::string Name=Node.getName();
68
69 if ("boilerplate"==Name)
70 - ProcessBoilerplate(Node,Source,Include);
71 + ProcessBoilerplate(Node,Source,Include,argv[1]);
72 else if ("header"==Name)
73 ProcessHeader(Node,Source,Include);
74 else if ("declare"==Name)
75 @@ -156,13 +156,13 @@ void ProcessHeader(const XMLNode& /*Node*/, std::ofstream& Source, std::ofstream
76 Include << os.str() << std::endl;
77 }
78
79 -void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include)
80 +void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include, const std::string& Path)
81 {
82 std::ofstream *File=GetFile(Node,Source,Include);
83
84 if (Node.isAttributeSet("file"))
85 {
86 - std::string FileName=Node.getAttribute("file");
87 + std::string FileName=Path+"/"+Node.getAttribute("file");
88 std::ifstream InFile(FileName.c_str());
89 if (InFile.is_open())
90 *File << InFile.rdbuf() << std::endl;
91 diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
92 index 645f8ae..8a0b38b 100644
93 --- a/tests/CMakeLists.txt
94 +++ b/tests/CMakeLists.txt
95 @@ -1,4 +1,7 @@
96 -INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include)
97 +INCLUDE_DIRECTORIES(
98 + ${CMAKE_CURRENT_SOURCE_DIR}/../include
99 + ${CMAKE_CURRENT_BINARY_DIR}/../include
100 +)
101 LINK_LIBRARIES(musicbrainz5 ${NEON_LIBRARIES})
102 ADD_EXECUTABLE(mbtest mbtest.cc)
103 ADD_EXECUTABLE(ctest ctest.c)
104 --
105 1.7.10
106
107 From b5d4f4ea32068e296326438c747faf665c311ddd Mon Sep 17 00:00:00 2001
108 From: Andy Hawkins <andy@gently.org.uk>
109 Date: Thu, 14 Jun 2012 09:12:27 +0000
110 Subject: [PATCH] Fix install when building out of tree
111
112 ---
113 CMakeLists.txt | 2 +-
114 1 file changed, 1 insertion(+), 1 deletion(-)
115
116 diff --git a/CMakeLists.txt b/CMakeLists.txt
117 index 16870b4..958461c 100644
118 --- a/CMakeLists.txt
119 +++ b/CMakeLists.txt
120 @@ -32,7 +32,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_SOURCE
121 CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
122
123 FILE(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/include/musicbrainz5/*.h)
124 -INSTALL(FILES ${headers} include/musicbrainz5/mb5_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/musicbrainz5)
125 +INSTALL(FILES ${headers} ${CMAKE_CURRENT_BINARY_DIR}/include/musicbrainz5/mb5_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/musicbrainz5)
126 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
127
128 ADD_SUBDIRECTORY(src)
129 --
130 1.7.10
131