Add pugixml dependency

This commit is contained in:
Henrik Rydgård
2026-03-28 13:09:40 -06:00
parent 0db0f9b27e
commit fd7c5cdd6b
9 changed files with 15270 additions and 2 deletions
+7 -1
View File
@@ -1361,6 +1361,11 @@ add_library(basis_universal STATIC
)
set(BASISU_LIBRARIES basis_universal)
add_library(pugixml STATIC
ext/pugixml/pugixml.cpp
ext/pugixml/pugixml.hpp
)
set(nativeExtra)
set(nativeExtraLibs)
@@ -1728,7 +1733,8 @@ if(ANDROID OR (LINUX AND ARM_DEVICE) OR (LINUX AND RISCV64) OR (LINUX AND LOONGA
set(ATOMIC_LIB atomic)
endif()
target_link_libraries(native ${LIBZIP_LIBRARY} ${LIB7ZIP_LIBRARY} ${PNG_LIBRARIES} ${BASISU_LIBRARIES} ${ZLIB_LIBRARY} vma gason udis86 ${RT_LIB} ${nativeExtraLibs} ${ATOMIC_LIB} Common)
target_link_libraries(native ${LIBZIP_LIBRARY} ${LIB7ZIP_LIBRARY} ${PNG_LIBRARIES} ${BASISU_LIBRARIES} ${ZLIB_LIBRARY} pugixml vma gason udis86 ${RT_LIB} ${nativeExtraLibs} ${ATOMIC_LIB} Common)
if(TARGET Ext::GLEW)
target_link_libraries(native Ext::GLEW)
endif()
+3
View File
@@ -369,6 +369,8 @@
<ClInclude Include="..\ext\naett\naett.h" />
<ClInclude Include="..\ext\nanosvg\src\nanosvg.h" />
<ClInclude Include="..\ext\nanosvg\src\nanosvgrast.h" />
<ClInclude Include="..\ext\pugixml\pugiconfig.hpp" />
<ClInclude Include="..\ext\pugixml\pugixml.hpp" />
<ClInclude Include="..\ext\sol\config.hpp" />
<ClInclude Include="..\ext\sol\forward.hpp" />
<ClInclude Include="..\ext\sol\sol.hpp" />
@@ -861,6 +863,7 @@
<ClCompile Include="..\ext\lzma-sdk\LzmaDec.c" />
<ClCompile Include="..\ext\minimp3\minimp3.cpp" />
<ClCompile Include="..\ext\naett\naett.c" />
<ClCompile Include="..\ext\pugixml\pugixml.cpp" />
<ClCompile Include="..\ext\vma\vk_mem_alloc.cpp" />
<ClCompile Include="ABI.cpp" />
<ClCompile Include="Arm64Emitter.cpp" />
+12
View File
@@ -775,6 +775,12 @@
<ClInclude Include="File\VFS\SevenZipFileReader.h">
<Filter>File\VFS</Filter>
</ClInclude>
<ClInclude Include="..\ext\pugixml\pugiconfig.hpp">
<Filter>ext\pugixml</Filter>
</ClInclude>
<ClInclude Include="..\ext\pugixml\pugixml.hpp">
<Filter>ext\pugixml</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<ClCompile Include="ABI.cpp" />
@@ -1440,6 +1446,9 @@
<ClCompile Include="File\VFS\SevenZipFileReader.cpp">
<Filter>File\VFS</Filter>
</ClCompile>
<ClCompile Include="..\ext\pugixml\pugixml.cpp">
<Filter>ext\pugixml</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<Filter Include="Crypto">
@@ -1580,6 +1589,9 @@
<Filter Include="ext\lzma-sdk">
<UniqueIdentifier>{00053099-bdf5-4638-9bf5-45e44dca79d4}</UniqueIdentifier>
</Filter>
<Filter Include="ext\pugixml">
<UniqueIdentifier>{32c8149f-f6e1-45e4-b0a5-79093450ac82}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<Text Include="..\ext\libpng17\CMakeLists.txt">
+3
View File
@@ -294,6 +294,8 @@
<ClInclude Include="..\..\ext\minimp3\minimp3.h" />
<ClInclude Include="..\..\ext\minimp3\minimp3_ex.h" />
<ClInclude Include="..\..\ext\naett\naett.h" />
<ClInclude Include="..\..\ext\pugixml\pugiconfig.hpp" />
<ClInclude Include="..\..\ext\pugixml\pugixml.hpp" />
<ClInclude Include="targetver.h" />
</ItemGroup>
<ItemGroup>
@@ -474,6 +476,7 @@
<ClCompile Include="..\..\ext\lzma-sdk\LzmaDec.c" />
<ClCompile Include="..\..\ext\minimp3\minimp3.cpp" />
<ClCompile Include="..\..\ext\naett\naett.c" />
<ClCompile Include="..\..\ext\pugixml\pugixml.cpp" />
</ItemGroup>
<ItemGroup>
<None Include="..\..\ext\basis_universal\basisu_transcoder_tables_astc.inc" />
+12
View File
@@ -112,6 +112,9 @@
<Filter Include="ext\lzma-sdk">
<UniqueIdentifier>{32412196-7280-4118-ad20-4ee3f6ad18ef}</UniqueIdentifier>
</Filter>
<Filter Include="ext\pugixml">
<UniqueIdentifier>{a9ae3474-1d81-486c-919e-82b62224172f}</UniqueIdentifier>
</Filter>
</ItemGroup>
<ItemGroup>
<ClCompile Include="..\..\Common\ABI.cpp" />
@@ -585,6 +588,9 @@
<ClCompile Include="..\..\Common\File\VFS\SevenZipFileReader.cpp">
<Filter>File\VFS</Filter>
</ClCompile>
<ClCompile Include="..\..\ext\pugixml\pugixml.cpp">
<Filter>ext\pugixml</Filter>
</ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="targetver.h" />
@@ -1133,6 +1139,12 @@
<ClInclude Include="..\..\Common\File\VFS\SevenZipFileReader.h">
<Filter>File\VFS</Filter>
</ClInclude>
<ClInclude Include="..\..\ext\pugixml\pugiconfig.hpp">
<Filter>ext\pugixml</Filter>
</ClInclude>
<ClInclude Include="..\..\ext\pugixml\pugixml.hpp">
<Filter>ext\pugixml</Filter>
</ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="..\..\ext\libpng17\CMakeLists.txt" />
+12 -1
View File
@@ -75,6 +75,17 @@ include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/Locals.mk
PUGI_ROOT := $(SRC)/ext/pugixml
LOCAL_MODULE := pugixml
LOCAL_SRC_FILES := $(PUGI_ROOT)/pugixml.cpp
LOCAL_C_INCLUDES := $(PUGI_ROOT)
include $(BUILD_STATIC_LIBRARY)
include $(CLEAR_VARS)
include $(LOCAL_PATH)/Locals.mk
LOCAL_CFLAGS += -DSTACK_LINE_READER_BUFFER_SIZE=1024 -DHAVE_DLFCN_H -DRC_DISABLE_LUA -DZ7_ST
# http://software.intel.com/en-us/articles/getting-started-on-optimizing-ndk-project-for-multiple-cpu-architectures
@@ -406,7 +417,7 @@ include $(BUILD_STATIC_LIBRARY)
# Next up, Core, GPU, and other core parts shared by headless.
include $(CLEAR_VARS)
include $(LOCAL_PATH)/Locals.mk
LOCAL_WHOLE_STATIC_LIBRARIES += ppsspp_common libchdr lua
LOCAL_WHOLE_STATIC_LIBRARIES += ppsspp_common libchdr lua pugixml
ifeq ($(TARGET_ARCH_ABI),x86_64)
ARCH_FILES := \
+80
View File
@@ -0,0 +1,80 @@
/**
* pugixml parser - version 1.15
* --------------------------------------------------------
* Copyright (C) 2006-2025, by Arseny Kapoulkine (arseny.kapoulkine@gmail.com)
* Report bugs and download new versions at https://pugixml.org/
*
* This library is distributed under the MIT License. See notice at the end
* of this file.
*
* This work is based on the pugxml parser, which is:
* Copyright (C) 2003, by Kristen Wegner (kristen@tima.net)
*/
#ifndef HEADER_PUGICONFIG_HPP
#define HEADER_PUGICONFIG_HPP
// Uncomment this to enable wchar_t mode
// #define PUGIXML_WCHAR_MODE
// Uncomment this to enable compact mode
// #define PUGIXML_COMPACT
// Uncomment this to disable XPath
// #define PUGIXML_NO_XPATH
// Uncomment this to disable STL
// #define PUGIXML_NO_STL
// Uncomment this to disable exceptions
// #define PUGIXML_NO_EXCEPTIONS
// Set this to control attributes for public classes/functions, i.e.:
// #define PUGIXML_API __declspec(dllexport) // to export all public symbols from DLL
// #define PUGIXML_CLASS __declspec(dllimport) // to import all classes from DLL
// #define PUGIXML_FUNCTION __fastcall // to set calling conventions to all public functions to fastcall
// In absence of PUGIXML_CLASS/PUGIXML_FUNCTION definitions PUGIXML_API is used instead
// Tune these constants to adjust memory-related behavior
// #define PUGIXML_MEMORY_PAGE_SIZE 32768
// #define PUGIXML_MEMORY_OUTPUT_STACK 10240
// #define PUGIXML_MEMORY_XPATH_PAGE_SIZE 4096
// Tune this constant to adjust max nesting for XPath queries
// #define PUGIXML_XPATH_DEPTH_LIMIT 1024
// Uncomment this to switch to header-only version
// #define PUGIXML_HEADER_ONLY
// Uncomment this to enable long long support (usually enabled automatically)
// #define PUGIXML_HAS_LONG_LONG
// Uncomment this to enable support for std::string_view (usually enabled automatically)
// #define PUGIXML_HAS_STRING_VIEW
#endif
/**
* Copyright (c) 2006-2025 Arseny Kapoulkine
*
* Permission is hereby granted, free of charge, to any person
* obtaining a copy of this software and associated documentation
* files (the "Software"), to deal in the Software without
* restriction, including without limitation the rights to use,
* copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the
* Software is furnished to do so, subject to the following
* conditions:
*
* The above copyright notice and this permission notice shall be
* included in all copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
* OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
* NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
* HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
* WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
* FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
* OTHER DEALINGS IN THE SOFTWARE.
*/
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff