mirror of
https://github.com/GerbilSoft/rom-properties.git
synced 2025-06-18 11:35:38 -04:00
[gtk,kde,win32] AboutTab: Switch from TinyXML2 to PugiXML.
Add the PugiXML include path to the GTK and KDE targets It was already added in the Windows target (as TinyXML2). This likely didn't cause any problems before because TinyXML2 is usually installed system-wide on Linux systems.
This commit is contained in:
parent
1b2137f3d5
commit
74007ac6f5
@ -39,7 +39,7 @@ using std::string;
|
|||||||
# include "librpbase/crypto/AesNettle.hpp"
|
# include "librpbase/crypto/AesNettle.hpp"
|
||||||
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
||||||
#ifdef ENABLE_XML
|
#ifdef ENABLE_XML
|
||||||
# include <tinyxml2.h>
|
# include <pugixml.hpp>
|
||||||
#endif /* ENABLE_XML */
|
#endif /* ENABLE_XML */
|
||||||
|
|
||||||
#if GTK_CHECK_VERSION(3, 0, 0)
|
#if GTK_CHECK_VERSION(3, 0, 0)
|
||||||
@ -728,24 +728,38 @@ rp_about_tab_init_libraries_tab(GtkLabel *lblLibraries)
|
|||||||
}
|
}
|
||||||
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
||||||
|
|
||||||
/** TinyXML2 **/
|
/** PugiXML **/
|
||||||
#ifdef ENABLE_XML
|
#ifdef ENABLE_XML
|
||||||
|
// PugiXML 1.10 and later uses this format: 1140 == 1.14.0
|
||||||
|
// PugiXML 1.9 and earlier uses this format: 190 == 1.9.0
|
||||||
|
unsigned int pugixml_major, pugixml_minor, pugixml_patch;
|
||||||
|
if (PUGIXML_VERSION >= 1000) {
|
||||||
|
pugixml_major = PUGIXML_VERSION / 1000;
|
||||||
|
pugixml_minor = (PUGIXML_VERSION % 1000) / 10;
|
||||||
|
pugixml_patch = PUGIXML_VERSION % 10;
|
||||||
|
} else {
|
||||||
|
pugixml_major = PUGIXML_VERSION / 100;
|
||||||
|
pugixml_minor = (PUGIXML_VERSION % 100) / 10;
|
||||||
|
pugixml_patch = PUGIXML_VERSION % 10;
|
||||||
|
}
|
||||||
|
|
||||||
sLibraries += "\n\n";
|
sLibraries += "\n\n";
|
||||||
const string tinyXml2Version = fmt::format(FSTR("TinyXML2 {:d}.{:d}.{:d}"),
|
string pugiXmlVersion = fmt::format(FSTR("PugiXML {:d}.{:d}"),
|
||||||
static_cast<unsigned int>(TIXML2_MAJOR_VERSION),
|
pugixml_major, pugixml_minor);
|
||||||
static_cast<unsigned int>(TIXML2_MINOR_VERSION),
|
if (pugixml_patch > 0) {
|
||||||
static_cast<unsigned int>(TIXML2_PATCH_VERSION));
|
pugiXmlVersion += fmt::format(FSTR(".{:d}"), pugixml_patch);
|
||||||
|
}
|
||||||
|
|
||||||
# if defined(USE_INTERNAL_XML) && !defined(USE_INTERNAL_XML_DLL)
|
# if defined(USE_INTERNAL_XML) && !defined(USE_INTERNAL_XML_DLL)
|
||||||
sLibraries += fmt::format(FRUN(sIntCopyOf), tinyXml2Version);
|
sLibraries += fmt::format(FRUN(sIntCopyOf), pugiXmlVersion);
|
||||||
# else
|
# else
|
||||||
// FIXME: Runtime version?
|
// FIXME: Runtime version?
|
||||||
sLibraries += fmt::format(FRUN(sCompiledWith), tinyXml2Version);
|
sLibraries += fmt::format(FRUN(sCompiledWith), pugiXmlVersion);
|
||||||
# endif
|
# endif
|
||||||
sLibraries += "\n"
|
sLibraries += "\n"
|
||||||
"Copyright (C) 2000-2021 Lee Thomason\n"
|
"Copyright (C) 2006-2025, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)\n"
|
||||||
"<a href='http://www.grinninglizard.com/'>http://www.grinninglizard.com/</a>\n";
|
"<a href='https://pugixml.org/'>https://pugixml.org/</a>\n";
|
||||||
sLibraries += fmt::format(FRUN(sLicense), "zlib license");
|
sLibraries += fmt::format(FRUN(sLicense), "MIT license");
|
||||||
#endif /* ENABLE_XML */
|
#endif /* ENABLE_XML */
|
||||||
|
|
||||||
/** GNU gettext **/
|
/** GNU gettext **/
|
||||||
|
@ -174,6 +174,9 @@ IF(BUILD_GTK3)
|
|||||||
|
|
||||||
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_GTK3)
|
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_GTK3)
|
||||||
|
|
||||||
|
# PugiXML headers are needed for AboutTab.
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${pugixml_INCLUDE_DIR})
|
||||||
|
|
||||||
# libfmt
|
# libfmt
|
||||||
IF(Fmt_FOUND)
|
IF(Fmt_FOUND)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
||||||
|
@ -153,6 +153,9 @@ IF(BUILD_GTK4)
|
|||||||
|
|
||||||
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_GTK4)
|
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_GTK4)
|
||||||
|
|
||||||
|
# PugiXML headers are needed for AboutTab.
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${pugixml_INCLUDE_DIR})
|
||||||
|
|
||||||
# libfmt
|
# libfmt
|
||||||
IF(Fmt_FOUND)
|
IF(Fmt_FOUND)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
||||||
|
@ -153,6 +153,9 @@ IF(BUILD_XFCE)
|
|||||||
ADD_DEFINITIONS(${GTK2_DEFINITIONS})
|
ADD_DEFINITIONS(${GTK2_DEFINITIONS})
|
||||||
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_XFCE)
|
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE RP_UI_XFCE)
|
||||||
|
|
||||||
|
# PugiXML headers are needed for AboutTab.
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${pugixml_INCLUDE_DIR})
|
||||||
|
|
||||||
# libfmt
|
# libfmt
|
||||||
IF(Fmt_FOUND)
|
IF(Fmt_FOUND)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
||||||
|
@ -45,7 +45,7 @@ using std::string;
|
|||||||
# include "librpbase/crypto/AesNettle.hpp"
|
# include "librpbase/crypto/AesNettle.hpp"
|
||||||
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
||||||
#ifdef ENABLE_XML
|
#ifdef ENABLE_XML
|
||||||
# include <tinyxml2.h>
|
# include <pugixml.hpp>
|
||||||
#endif /* ENABLE_XML */
|
#endif /* ENABLE_XML */
|
||||||
|
|
||||||
#include "ui_AboutTab.h"
|
#include "ui_AboutTab.h"
|
||||||
@ -480,24 +480,38 @@ void AboutTabPrivate::initLibrariesTab(void)
|
|||||||
}
|
}
|
||||||
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
#endif /* ENABLE_DECRYPTION && HAVE_NETTLE */
|
||||||
|
|
||||||
/** TinyXML2 **/
|
/** PugiXML **/
|
||||||
#ifdef ENABLE_XML
|
#ifdef ENABLE_XML
|
||||||
|
// PugiXML 1.10 and later uses this format: 1140 == 1.14.0
|
||||||
|
// PugiXML 1.9 and earlier uses this format: 190 == 1.9.0
|
||||||
|
unsigned int pugixml_major, pugixml_minor, pugixml_patch;
|
||||||
|
if (PUGIXML_VERSION >= 1000) {
|
||||||
|
pugixml_major = PUGIXML_VERSION / 1000;
|
||||||
|
pugixml_minor = (PUGIXML_VERSION % 1000) / 10;
|
||||||
|
pugixml_patch = PUGIXML_VERSION % 10;
|
||||||
|
} else {
|
||||||
|
pugixml_major = PUGIXML_VERSION / 100;
|
||||||
|
pugixml_minor = (PUGIXML_VERSION % 100) / 10;
|
||||||
|
pugixml_patch = PUGIXML_VERSION % 10;
|
||||||
|
}
|
||||||
|
|
||||||
sLibraries += BR BR;
|
sLibraries += BR BR;
|
||||||
const string tinyXml2Version = fmt::format(FSTR("TinyXML2 {:d}.{:d}.{:d}"),
|
string pugiXmlVersion = fmt::format(FSTR("PugiXML {:d}.{:d}"),
|
||||||
static_cast<unsigned int>(TIXML2_MAJOR_VERSION),
|
pugixml_major, pugixml_minor);
|
||||||
static_cast<unsigned int>(TIXML2_MINOR_VERSION),
|
if (pugixml_patch > 0) {
|
||||||
static_cast<unsigned int>(TIXML2_PATCH_VERSION));
|
pugiXmlVersion += fmt::format(FSTR(".{:d}"), pugixml_patch);
|
||||||
|
}
|
||||||
|
|
||||||
# if defined(USE_INTERNAL_XML) && !defined(USE_INTERNAL_XML_DLL)
|
# if defined(USE_INTERNAL_XML) && !defined(USE_INTERNAL_XML_DLL)
|
||||||
sLibraries += fmt::format(FRUN(sIntCopyOf), tinyXml2Version);
|
sLibraries += fmt::format(FRUN(sIntCopyOf), pugiXmlVersion);
|
||||||
# else
|
# else
|
||||||
// FIXME: Runtime version?
|
// FIXME: Runtime version?
|
||||||
sLibraries += fmt::format(FRUN(sCompiledWith), tinyXml2Version);
|
sLibraries += fmt::format(FRUN(sCompiledWith), pugiXmlVersion);
|
||||||
# endif
|
# endif
|
||||||
sLibraries += BR
|
sLibraries += BR
|
||||||
"Copyright (C) 2000-2021 Lee Thomason" BR
|
"Copyright (C) 2006-2025, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)" BR
|
||||||
"<a href='http://www.grinninglizard.com/'>http://www.grinninglizard.com/</a>" BR;
|
"<a href='https://pugixml.org/'>https://pugixml.org/</a>" BR;
|
||||||
sLibraries += fmt::format(FRUN(sLicense), "zlib license");
|
sLibraries += fmt::format(FRUN(sLicense), "MIT license");
|
||||||
#endif /* ENABLE_XML */
|
#endif /* ENABLE_XML */
|
||||||
|
|
||||||
/** GNU gettext **/
|
/** GNU gettext **/
|
||||||
|
@ -116,11 +116,14 @@ IF(BUILD_KDE4)
|
|||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE romdata)
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE romdata)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC ${KDE4_KFILE_LIBRARY} ${KDE4_KDEUI_LIBRARY} ${KDE4_KDECORE_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC ${KDE4_KFILE_LIBRARY} ${KDE4_KDEUI_LIBRARY} ${KDE4_KDECORE_LIBRARY})
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Qt4::QtGui Qt4::QtCore)
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Qt4::QtGui Qt4::QtCore)
|
||||||
TARGET_INCLUDE_DIRECTORIES(rom-properties-kde4 PUBLIC ${KDE4_INCLUDE_DIR} ${KDE4_INCLUDE_DIR}/KDE)
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC ${KDE4_INCLUDE_DIR} ${KDE4_INCLUDE_DIR}/KDE)
|
||||||
IF(HAVE_QtDBus)
|
IF(HAVE_QtDBus)
|
||||||
TARGET_LINK_LIBRARIES(rom-properties-kde4 PUBLIC Qt4::QtDBus)
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Qt4::QtDBus)
|
||||||
ENDIF(HAVE_QtDBus)
|
ENDIF(HAVE_QtDBus)
|
||||||
|
|
||||||
|
# PugiXML headers are needed for AboutTab.
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${pugixml_INCLUDE_DIR})
|
||||||
|
|
||||||
# libfmt
|
# libfmt
|
||||||
IF(Fmt_FOUND)
|
IF(Fmt_FOUND)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
||||||
|
@ -127,6 +127,9 @@ IF(BUILD_KF5)
|
|||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Qt5::DBus)
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Qt5::DBus)
|
||||||
ENDIF(HAVE_QtDBus)
|
ENDIF(HAVE_QtDBus)
|
||||||
|
|
||||||
|
# PugiXML headers are needed for AboutTab.
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${pugixml_INCLUDE_DIR})
|
||||||
|
|
||||||
# libfmt
|
# libfmt
|
||||||
IF(Fmt_FOUND)
|
IF(Fmt_FOUND)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
||||||
|
@ -114,6 +114,9 @@ IF(BUILD_KF6)
|
|||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Qt6::DBus)
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PUBLIC Qt6::DBus)
|
||||||
ENDIF(HAVE_QtDBus)
|
ENDIF(HAVE_QtDBus)
|
||||||
|
|
||||||
|
# PugiXML headers are needed for AboutTab.
|
||||||
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${pugixml_INCLUDE_DIR})
|
||||||
|
|
||||||
# libfmt
|
# libfmt
|
||||||
IF(Fmt_FOUND)
|
IF(Fmt_FOUND)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
||||||
|
@ -274,8 +274,8 @@ TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${ZLIB_LIBRARIES})
|
|||||||
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${ZLIB_INCLUDE_DIRS})
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${ZLIB_INCLUDE_DIRS})
|
||||||
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE ${ZLIB_DEFINITIONS})
|
TARGET_COMPILE_DEFINITIONS(${PROJECT_NAME} PRIVATE ${ZLIB_DEFINITIONS})
|
||||||
|
|
||||||
# TinyXML2 headers are needed for AboutTab.
|
# PugiXML headers are needed for AboutTab.
|
||||||
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PUBLIC ${TinyXML2_INCLUDE_DIR})
|
TARGET_INCLUDE_DIRECTORIES(${PROJECT_NAME} PRIVATE ${pugixml_INCLUDE_DIR})
|
||||||
|
|
||||||
IF(Fmt_FOUND)
|
IF(Fmt_FOUND)
|
||||||
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
TARGET_LINK_LIBRARIES(${PROJECT_NAME} PRIVATE ${Fmt_LIBRARY})
|
||||||
|
@ -70,7 +70,7 @@ using std::unique_ptr;
|
|||||||
#include "librpbase/img/RpPng.hpp"
|
#include "librpbase/img/RpPng.hpp"
|
||||||
// TODO: JPEG
|
// TODO: JPEG
|
||||||
#ifdef ENABLE_XML
|
#ifdef ENABLE_XML
|
||||||
# include "tinyxml2.h"
|
# include <pugixml.hpp>
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Useful RTF strings.
|
// Useful RTF strings.
|
||||||
@ -1186,20 +1186,34 @@ void AboutTabPrivate::initLibrariesTab(void)
|
|||||||
sLibraries += fmt::format(FRUN(sLicense), "libpng license");
|
sLibraries += fmt::format(FRUN(sLicense), "libpng license");
|
||||||
#endif /* HAVE_PNG */
|
#endif /* HAVE_PNG */
|
||||||
|
|
||||||
/** TinyXML2 **/
|
/** PugiXML **/
|
||||||
#ifdef ENABLE_XML
|
#ifdef ENABLE_XML
|
||||||
const string tinyXml2Version = fmt::format(FSTR("TinyXML2 {:d}.{:d}.{:d}"),
|
// PugiXML 1.10 and later uses this format: 1140 == 1.14.0
|
||||||
static_cast<unsigned int>(TIXML2_MAJOR_VERSION),
|
// PugiXML 1.9 and earlier uses this format: 190 == 1.9.0
|
||||||
static_cast<unsigned int>(TIXML2_MINOR_VERSION),
|
unsigned int pugixml_major, pugixml_minor, pugixml_patch;
|
||||||
static_cast<unsigned int>(TIXML2_PATCH_VERSION));
|
if (PUGIXML_VERSION >= 1000) {
|
||||||
|
pugixml_major = PUGIXML_VERSION / 1000;
|
||||||
|
pugixml_minor = (PUGIXML_VERSION % 1000) / 10;
|
||||||
|
pugixml_patch = PUGIXML_VERSION % 10;
|
||||||
|
} else {
|
||||||
|
pugixml_major = PUGIXML_VERSION / 100;
|
||||||
|
pugixml_minor = (PUGIXML_VERSION % 100) / 10;
|
||||||
|
pugixml_patch = PUGIXML_VERSION % 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
string pugiXmlVersion = fmt::format(FSTR("PugiXML {:d}.{:d}"),
|
||||||
|
pugixml_major, pugixml_minor);
|
||||||
|
if (pugixml_patch > 0) {
|
||||||
|
pugiXmlVersion += fmt::format(FSTR(".{:d}"), pugixml_patch);
|
||||||
|
}
|
||||||
|
|
||||||
// FIXME: Runtime version?
|
// FIXME: Runtime version?
|
||||||
sLibraries += RTF_BR RTF_BR;
|
sLibraries += RTF_BR RTF_BR;
|
||||||
sLibraries += fmt::format(FRUN(sCompiledWith), tinyXml2Version);
|
sLibraries += fmt::format(FRUN(sCompiledWith), tinyXml2Version);
|
||||||
sLibraries += RTF_BR
|
sLibraries += RTF_BR
|
||||||
"Copyright (C) 2000-2021 Lee Thomason" RTF_BR
|
"Copyright (C) 2006-2025, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)" RTF_BR
|
||||||
"http://www.grinninglizard.com/" RTF_BR;
|
"https://pugixml.org/" RTF_BR;
|
||||||
sLibraries += fmt::format(FRUN(sLicense), "zlib license");
|
sLibraries += fmt::format(FRUN(sLicense), "MIT license");
|
||||||
#endif /* ENABLE_XML */
|
#endif /* ENABLE_XML */
|
||||||
|
|
||||||
/** GNU gettext **/
|
/** GNU gettext **/
|
||||||
|
Loading…
Reference in New Issue
Block a user