libmusicbrainz: new major soversion and split C++ interface.
This commit is contained in:
@@ -0,0 +1,204 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 384cb65..6181a06 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -7,7 +7,7 @@ SET(PROJECT_VERSION 5.1.0)
|
||||
# 2. If any interfaces have been added, removed, or changed since the last update, increment current, and set revision to 0.
|
||||
# 3. If any interfaces have been added since the last public release, then increment age.
|
||||
# 4. If any interfaces have been removed since the last public release, then set age to 0.
|
||||
-SET(musicbrainz5_SOVERSION_CURRENT 1)
|
||||
+SET(musicbrainz5_SOVERSION_CURRENT 2)
|
||||
SET(musicbrainz5_SOVERSION_REVISION 0)
|
||||
SET(musicbrainz5_SOVERSION_AGE 0)
|
||||
|
||||
@@ -18,6 +18,17 @@ MATH(EXPR musicbrainz5_SOVERSION_PATCH "${musicbrainz5_SOVERSION_REVISION}")
|
||||
SET(musicbrainz5_VERSION ${musicbrainz5_SOVERSION_MAJOR}.${musicbrainz5_SOVERSION_MINOR}.${musicbrainz5_SOVERSION_PATCH})
|
||||
SET(musicbrainz5_SOVERSION ${musicbrainz5_SOVERSION_MAJOR})
|
||||
|
||||
+SET(musicbrainz5c_SOVERSION_CURRENT 2)
|
||||
+SET(musicbrainz5c_SOVERSION_REVISION 0)
|
||||
+SET(musicbrainz5c_SOVERSION_AGE 0)
|
||||
+
|
||||
+MATH(EXPR musicbrainz5c_SOVERSION_MAJOR "${musicbrainz5c_SOVERSION_CURRENT} - ${musicbrainz5c_SOVERSION_AGE}")
|
||||
+MATH(EXPR musicbrainz5c_SOVERSION_MINOR "${musicbrainz5c_SOVERSION_AGE}")
|
||||
+MATH(EXPR musicbrainz5c_SOVERSION_PATCH "${musicbrainz5c_SOVERSION_REVISION}")
|
||||
+
|
||||
+SET(musicbrainz5c_VERSION ${musicbrainz5c_SOVERSION_MAJOR}.${musicbrainz5c_SOVERSION_MINOR}.${musicbrainz5c_SOVERSION_PATCH})
|
||||
+SET(musicbrainz5c_SOVERSION ${musicbrainz5c_SOVERSION_MAJOR})
|
||||
+
|
||||
SET(CMAKE_MODULE_PATH ${CMAKE_SOURCE_DIR}/cmake/modules)
|
||||
FIND_PACKAGE(Neon REQUIRED)
|
||||
FIND_PACKAGE(LibXml2 REQUIRED)
|
||||
@@ -29,12 +40,13 @@ SET(LIB_INSTALL_DIR ${EXEC_INSTALL_PREFIX}/lib${LIB_SUFFIX} CACHE PATH "Install
|
||||
SET(INCLUDE_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/include CACHE PATH "Installation prefix for C header files" FORCE)
|
||||
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc)
|
||||
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile)
|
||||
-CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
|
||||
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/libmusicbrainz5cc.pc.cmake ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5cc.pc)
|
||||
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile)
|
||||
+CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
|
||||
|
||||
FILE(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/include/musicbrainz5/*.h)
|
||||
INSTALL(FILES ${headers} ${CMAKE_CURRENT_BINARY_DIR}/include/musicbrainz5/mb5_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/musicbrainz5)
|
||||
-INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
||||
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5cc.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
||||
|
||||
ADD_SUBDIRECTORY(src)
|
||||
ADD_SUBDIRECTORY(tests)
|
||||
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
|
||||
index bdcc991..71ca411 100644
|
||||
--- a/examples/CMakeLists.txt
|
||||
+++ b/examples/CMakeLists.txt
|
||||
@@ -3,7 +3,6 @@ INCLUDE_DIRECTORIES(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../include
|
||||
${LIBXML2_INCLUDE_DIR}
|
||||
)
|
||||
-LINK_LIBRARIES(musicbrainz5 ${NEON_LIBRARIES} ${LIBXML2_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(cdlookup cdlookup.cc)
|
||||
ADD_EXECUTABLE(cdlookup_c cdlookup_c.c)
|
||||
@@ -11,6 +10,13 @@ ADD_EXECUTABLE(search search.cc)
|
||||
ADD_EXECUTABLE(search_c search_c.c)
|
||||
ADD_EXECUTABLE(collections collections.cc)
|
||||
|
||||
+TARGET_LINK_LIBRARIES(cdlookup musicbrainz5cc)
|
||||
+TARGET_LINK_LIBRARIES(cdlookup_c musicbrainz5)
|
||||
+TARGET_LINK_LIBRARIES(search musicbrainz5cc)
|
||||
+TARGET_LINK_LIBRARIES(search_c musicbrainz5)
|
||||
+TARGET_LINK_LIBRARIES(cdlookup musicbrainz5cc)
|
||||
+TARGET_LINK_LIBRARIES(collections musicbrainz5)
|
||||
+
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic-errors")
|
||||
IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/../.git)
|
||||
diff --git a/libmusicbrainz5.pc.cmake b/libmusicbrainz5.pc.cmake
|
||||
index b9cb903..633e231 100644
|
||||
--- a/libmusicbrainz5.pc.cmake
|
||||
+++ b/libmusicbrainz5.pc.cmake
|
||||
@@ -7,7 +7,7 @@ Name: ${PROJECT_NAME}
|
||||
Description: The Musicbrainz Client Library.
|
||||
URL: http://musicbrainz.org/doc/libmusicbrainz
|
||||
Version: ${PROJECT_VERSION}
|
||||
-Requires.private: neon >= 0.25 libxml-2.0
|
||||
+Requires.private: ${PROJECT_NAME}cc
|
||||
Libs: -L${LIB_INSTALL_DIR} -lmusicbrainz5
|
||||
Cflags: -I${INCLUDE_INSTALL_DIR}
|
||||
|
||||
diff --git a/libmusicbrainz5cc.pc.cmake b/libmusicbrainz5cc.pc.cmake
|
||||
new file mode 100644
|
||||
index 0000000..224fa7a
|
||||
--- /dev/null
|
||||
+++ b/libmusicbrainz5cc.pc.cmake
|
||||
@@ -0,0 +1,13 @@
|
||||
+prefix=${CMAKE_INSTALL_PREFIX}
|
||||
+exec_prefix=${EXEC_INSTALL_PREFIX}
|
||||
+libdir=${LIB_INSTALL_DIR}
|
||||
+includedir=${INCLUDE_INSTALL_DIR}
|
||||
+
|
||||
+Name: ${PROJECT_NAME}cc
|
||||
+Description: The Musicbrainz Client Library.
|
||||
+URL: http://musicbrainz.org/doc/libmusicbrainz
|
||||
+Version: ${PROJECT_VERSION}
|
||||
+Requires.private: neon >= 0.25 libxml-2.0
|
||||
+Libs: -L${LIB_INSTALL_DIR} -lmusicbrainz5cc
|
||||
+Cflags: -I${INCLUDE_INSTALL_DIR}
|
||||
+
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index c91a565..9492920 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -7,12 +7,13 @@ INCLUDE_DIRECTORIES(
|
||||
${LIBXML2_INCLUDE_DIR}
|
||||
)
|
||||
|
||||
-SET(_sources Alias.cc Annotation.cc Artist.cc ArtistCredit.cc Attribute.cc CDStub.cc Collection.cc
|
||||
+SET(_sources_cc Alias.cc Annotation.cc Artist.cc ArtistCredit.cc Attribute.cc CDStub.cc Collection.cc
|
||||
Disc.cc Entity.cc FreeDBDisc.cc HTTPFetch.cc ISRC.cc Label.cc LabelInfo.cc Lifespan.cc List.cc
|
||||
- mb5_c.cc Medium.cc MediumList.cc Message.cc Metadata.cc NameCredit.cc NonMBTrack.cc PUID.cc
|
||||
+ Medium.cc MediumList.cc Message.cc Metadata.cc NameCredit.cc NonMBTrack.cc PUID.cc
|
||||
Query.cc Rating.cc Recording.cc Relation.cc RelationList.cc Release.cc ReleaseGroup.cc Tag.cc
|
||||
TextRepresentation.cc Track.cc UserRating.cc UserTag.cc Work.cc xmlParser.cc
|
||||
RelationListList.cc ISWCList.cc ISWC.cc SecondaryType.cc SecondaryTypeList.cc IPI.cc)
|
||||
+SET(_sources_c mb5_c.cc)
|
||||
|
||||
# when crosscompiling import the executable targets from a file
|
||||
IF(CMAKE_CROSSCOMPILING)
|
||||
@@ -41,14 +42,21 @@ ADD_CUSTOM_COMMAND(
|
||||
|
||||
ADD_CUSTOM_TARGET(src_gen DEPENDS mb5_c.h)
|
||||
|
||||
-ADD_LIBRARY(musicbrainz5 SHARED ${_sources})
|
||||
+ADD_LIBRARY(musicbrainz5cc SHARED ${_sources_cc})
|
||||
+ADD_LIBRARY(musicbrainz5 SHARED ${_sources_c})
|
||||
|
||||
-SET_TARGET_PROPERTIES(musicbrainz5 PROPERTIES
|
||||
+SET_TARGET_PROPERTIES(musicbrainz5cc PROPERTIES
|
||||
VERSION ${musicbrainz5_VERSION}
|
||||
SOVERSION ${musicbrainz5_SOVERSION}
|
||||
DEFINE_SYMBOL MB_API_EXPORTS
|
||||
)
|
||||
|
||||
+SET_TARGET_PROPERTIES(musicbrainz5 PROPERTIES
|
||||
+ VERSION ${musicbrainz5c_VERSION}
|
||||
+ SOVERSION ${musicbrainz5c_SOVERSION}
|
||||
+ DEFINE_SYMBOL MB_API_EXPORTS
|
||||
+)
|
||||
+
|
||||
if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
SET_TARGET_PROPERTIES(musicbrainz5 PROPERTIES
|
||||
DEFINE_SYMBOL _MB5_DEBUG_
|
||||
@@ -58,7 +66,8 @@ if(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
endif(CMAKE_BUILD_TYPE STREQUAL Debug)
|
||||
|
||||
-TARGET_LINK_LIBRARIES(musicbrainz5 ${NEON_LIBRARIES} ${LIBXML2_LIBRARIES})
|
||||
+TARGET_LINK_LIBRARIES(musicbrainz5cc ${NEON_LIBRARIES} ${LIBXML2_LIBRARIES})
|
||||
+TARGET_LINK_LIBRARIES(musicbrainz5 musicbrainz5cc)
|
||||
|
||||
IF(WIN32)
|
||||
TARGET_LINK_LIBRARIES(musicbrainz5 wsock32 winmm ws2_32)
|
||||
@@ -72,4 +81,4 @@ IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
#set_source_files_properties(mb5_c.cc PROPERTIES COMPILE_FLAGS "-Wno-deprecated-declarations")
|
||||
ENDIF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
|
||||
-INSTALL(TARGETS musicbrainz5 DESTINATION ${LIB_INSTALL_DIR})
|
||||
+INSTALL(TARGETS musicbrainz5cc musicbrainz5 DESTINATION ${LIB_INSTALL_DIR})
|
||||
diff --git a/src/c-int-source-funcs.inc b/src/c-int-source-funcs.inc
|
||||
index fdf2d56..2e3834a 100644
|
||||
--- a/src/c-int-source-funcs.inc
|
||||
+++ b/src/c-int-source-funcs.inc
|
||||
@@ -90,7 +90,7 @@
|
||||
#include "musicbrainz5/Work.h"
|
||||
#include "musicbrainz5/WorkList.h"
|
||||
|
||||
-std::string GetMapName(std::map<std::string,std::string> Map, int Item)
|
||||
+static std::string GetMapName(std::map<std::string,std::string> Map, int Item)
|
||||
{
|
||||
std::string Ret;
|
||||
|
||||
@@ -112,7 +112,7 @@ std::string GetMapName(std::map<std::string,std::string> Map, int Item)
|
||||
return Ret;
|
||||
}
|
||||
|
||||
-std::string GetMapValue(std::map<std::string,std::string> Map, int Item)
|
||||
+static std::string GetMapValue(std::map<std::string,std::string> Map, int Item)
|
||||
{
|
||||
std::string Ret;
|
||||
|
||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||
index 9d87908..3fba4e8 100644
|
||||
--- a/tests/CMakeLists.txt
|
||||
+++ b/tests/CMakeLists.txt
|
||||
@@ -3,9 +3,10 @@ INCLUDE_DIRECTORIES(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/../include
|
||||
${LIBXML2_INCLUDE_DIR}
|
||||
)
|
||||
-LINK_LIBRARIES(musicbrainz5 ${NEON_LIBRARIES} ${LIBXML2_LIBRARIES})
|
||||
ADD_EXECUTABLE(mbtest mbtest.cc)
|
||||
ADD_EXECUTABLE(ctest ctest.c)
|
||||
+TARGET_LINK_LIBRARIES(mbtest musicbrainz5cc)
|
||||
+TARGET_LINK_LIBRARIES(ctest musicbrainz5)
|
||||
|
||||
IF(CMAKE_COMPILER_IS_GNUCXX)
|
||||
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -pedantic-errors")
|
||||
@@ -1,125 +0,0 @@
|
||||
Submitted By: Armin K. <krejzi at email dot com>
|
||||
Date: 2012-09-01
|
||||
Initial Package Version: 5.0.1
|
||||
Upstream Status: Fixed upstream
|
||||
Origin: Upstream
|
||||
Description: Fixes out-of-source-tree build.
|
||||
|
||||
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
|
||||
index 3e11469..000d4aa 100644
|
||||
--- a/examples/CMakeLists.txt
|
||||
+++ b/examples/CMakeLists.txt
|
||||
@@ -1,4 +1,7 @@
|
||||
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include)
|
||||
+INCLUDE_DIRECTORIES(
|
||||
+ ${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/../include
|
||||
+)
|
||||
LINK_LIBRARIES(musicbrainz5 ${NEON_LIBRARIES})
|
||||
|
||||
ADD_EXECUTABLE(cdlookup cdlookup.cc)
|
||||
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
|
||||
index 2ee102f..89ab63c 100644
|
||||
--- a/src/CMakeLists.txt
|
||||
+++ b/src/CMakeLists.txt
|
||||
@@ -1,5 +1,10 @@
|
||||
SET(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/.. ${CMAKE_CURRENT_SOURCE_DIR}/../include ${NEON_INCLUDE_DIR})
|
||||
+INCLUDE_DIRECTORIES(
|
||||
+ ${CMAKE_CURRENT_SOURCE_DIR}/..
|
||||
+ ${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/../include
|
||||
+ ${NEON_INCLUDE_DIR}
|
||||
+)
|
||||
|
||||
SET(_sources Alias.cc Annotation.cc Artist.cc ArtistCredit.cc Attribute.cc CDStub.cc Collection.cc
|
||||
Disc.cc Entity.cc FreeDBDisc.cc HTTPFetch.cc ISRC.cc Label.cc LabelInfo.cc Lifespan.cc List.cc
|
||||
@@ -13,7 +18,7 @@ ADD_EXECUTABLE(make-c-interface make-c-interface.cc xmlParser.cpp)
|
||||
ADD_CUSTOM_COMMAND(
|
||||
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.cc ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5/mb5_c.h
|
||||
COMMAND make-c-interface ${CMAKE_CURRENT_SOURCE_DIR} cinterface.xml ${CMAKE_CURRENT_BINARY_DIR} mb5_c.cc mb5_c.h
|
||||
- COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5
|
||||
+ COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_BINARY_DIR}/mb5_c.h ${CMAKE_CURRENT_BINARY_DIR}/../include/musicbrainz5/mb5_c.h
|
||||
DEPENDS make-c-interface cinterface.xml *.inc
|
||||
)
|
||||
|
||||
diff --git a/src/make-c-interface.cc b/src/make-c-interface.cc
|
||||
index 652a65b..70dd6d7 100644
|
||||
--- a/src/make-c-interface.cc
|
||||
+++ b/src/make-c-interface.cc
|
||||
@@ -33,7 +33,7 @@
|
||||
|
||||
#include "musicbrainz5/xmlParser.h"
|
||||
|
||||
-void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
|
||||
+void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include, const std::string& Path);
|
||||
void ProcessHeader(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
|
||||
void ProcessEntity(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
|
||||
void ProcessClass(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include);
|
||||
@@ -80,7 +80,7 @@ int main(int argc, const char *argv[])
|
||||
std::string Name=Node.getName();
|
||||
|
||||
if ("boilerplate"==Name)
|
||||
- ProcessBoilerplate(Node,Source,Include);
|
||||
+ ProcessBoilerplate(Node,Source,Include,argv[1]);
|
||||
else if ("header"==Name)
|
||||
ProcessHeader(Node,Source,Include);
|
||||
else if ("declare"==Name)
|
||||
@@ -156,13 +156,13 @@ void ProcessHeader(const XMLNode& /*Node*/, std::ofstream& Source, std::ofstream
|
||||
Include << os.str() << std::endl;
|
||||
}
|
||||
|
||||
-void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include)
|
||||
+void ProcessBoilerplate(const XMLNode& Node, std::ofstream& Source, std::ofstream& Include, const std::string& Path)
|
||||
{
|
||||
std::ofstream *File=GetFile(Node,Source,Include);
|
||||
|
||||
if (Node.isAttributeSet("file"))
|
||||
{
|
||||
- std::string FileName=Node.getAttribute("file");
|
||||
+ std::string FileName=Path+"/"+Node.getAttribute("file");
|
||||
std::ifstream InFile(FileName.c_str());
|
||||
if (InFile.is_open())
|
||||
*File << InFile.rdbuf() << std::endl;
|
||||
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
|
||||
index 645f8ae..8a0b38b 100644
|
||||
--- a/tests/CMakeLists.txt
|
||||
+++ b/tests/CMakeLists.txt
|
||||
@@ -1,4 +1,7 @@
|
||||
-INCLUDE_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../include)
|
||||
+INCLUDE_DIRECTORIES(
|
||||
+ ${CMAKE_CURRENT_SOURCE_DIR}/../include
|
||||
+ ${CMAKE_CURRENT_BINARY_DIR}/../include
|
||||
+)
|
||||
LINK_LIBRARIES(musicbrainz5 ${NEON_LIBRARIES})
|
||||
ADD_EXECUTABLE(mbtest mbtest.cc)
|
||||
ADD_EXECUTABLE(ctest ctest.c)
|
||||
--
|
||||
1.7.10
|
||||
|
||||
From b5d4f4ea32068e296326438c747faf665c311ddd Mon Sep 17 00:00:00 2001
|
||||
From: Andy Hawkins <andy@gently.org.uk>
|
||||
Date: Thu, 14 Jun 2012 09:12:27 +0000
|
||||
Subject: [PATCH] Fix install when building out of tree
|
||||
|
||||
---
|
||||
CMakeLists.txt | 2 +-
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 16870b4..958461c 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -32,7 +32,7 @@ CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.cmake ${CMAKE_CURRENT_SOURCE
|
||||
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake ${CMAKE_CURRENT_SOURCE_DIR}/config.h)
|
||||
|
||||
FILE(GLOB headers ${CMAKE_CURRENT_SOURCE_DIR}/include/musicbrainz5/*.h)
|
||||
-INSTALL(FILES ${headers} include/musicbrainz5/mb5_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/musicbrainz5)
|
||||
+INSTALL(FILES ${headers} ${CMAKE_CURRENT_BINARY_DIR}/include/musicbrainz5/mb5_c.h DESTINATION ${INCLUDE_INSTALL_DIR}/musicbrainz5)
|
||||
INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/libmusicbrainz5.pc DESTINATION ${LIB_INSTALL_DIR}/pkgconfig)
|
||||
|
||||
ADD_SUBDIRECTORY(src)
|
||||
--
|
||||
1.7.10
|
||||
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
From 9ba00067a15479a52262a5126bcb6889da5884b7 Mon Sep 17 00:00:00 2001
|
||||
From: Christopher Degawa <ccom@randomderp.com>
|
||||
Date: Sun, 8 Oct 2023 11:41:30 -0500
|
||||
Subject: [PATCH 1/2] libxml: include parser.h
|
||||
|
||||
libxml2 removed the inclusion of global.h in a few of its include files,
|
||||
so we can no longer rely on transitive includes.
|
||||
|
||||
This applies to functions like xmlParseFile.
|
||||
|
||||
Signed-off-by: Christopher Degawa <ccom@randomderp.com>
|
||||
---
|
||||
src/xmlParser.cc | 1 +
|
||||
1 file changed, 1 insertion(+)
|
||||
|
||||
diff --git a/src/xmlParser.cc b/src/xmlParser.cc
|
||||
index e63df55..53dec25 100644
|
||||
--- a/src/xmlParser.cc
|
||||
+++ b/src/xmlParser.cc
|
||||
@@ -30,6 +30,7 @@
|
||||
|
||||
#include <cstring>
|
||||
#include <libxml/tree.h>
|
||||
+#include <libxml/parser.h>
|
||||
|
||||
XMLResults::XMLResults()
|
||||
: line(0),
|
||||
|
||||
From 558c9ba0e6d702d5c877f75be98176f57abf1b02 Mon Sep 17 00:00:00 2001
|
||||
From: Christopher Degawa <ccom@randomderp.com>
|
||||
Date: Sun, 8 Oct 2023 11:42:55 -0500
|
||||
Subject: [PATCH 2/2] libxml: constify the storage of xmlGetLastError()
|
||||
|
||||
libxml2 recently made it a const return.
|
||||
Since nothing is being modified of it, this should have no real effect
|
||||
past satisfying the compiler.
|
||||
|
||||
Signed-off-by: Christopher Degawa <ccom@randomderp.com>
|
||||
---
|
||||
src/xmlParser.cc | 4 ++--
|
||||
1 file changed, 2 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/xmlParser.cc b/src/xmlParser.cc
|
||||
index 53dec25..fee684c 100644
|
||||
--- a/src/xmlParser.cc
|
||||
+++ b/src/xmlParser.cc
|
||||
@@ -57,7 +57,7 @@ XMLNode *XMLRootNode::parseFile(const std::string &filename, XMLResults* results
|
||||
|
||||
doc = xmlParseFile(filename.c_str());
|
||||
if ((doc == NULL) && (results != NULL)) {
|
||||
- xmlErrorPtr error = xmlGetLastError();
|
||||
+ const xmlError *error = xmlGetLastError();
|
||||
results->message = error->message;
|
||||
results->line = error->line;
|
||||
results->code = error->code;
|
||||
@@ -72,7 +72,7 @@ XMLNode *XMLRootNode::parseString(const std::string &xml, XMLResults* results)
|
||||
|
||||
doc = xmlParseMemory(xml.c_str(), xml.length());
|
||||
if ((doc == NULL) && (results != NULL)) {
|
||||
- xmlErrorPtr error = xmlGetLastError();
|
||||
+ const xmlError *error = xmlGetLastError();
|
||||
results->message = error->message;
|
||||
results->line = error->line;
|
||||
results->code = error->code;
|
||||
Reference in New Issue
Block a user