- Apr 27, 2020
-
-
Arseny Kapoulkine authored
Add "Include pugixml.cpp" and "Header Only" linkage options
-
- Apr 25, 2020
-
-
rip.nsk authored
-
- Feb 20, 2020
-
-
Arseny Kapoulkine authored
The loop traverses the source tree and simultaneously builds up a copy of it at destination. Short of race conditions, this code is safe - however, it's not obvious that dit stays inside the destination tree. This change adds a few assertions to help enforce/document these invariants. One particular subtlety is that dit can actually *become* null after we exit out of the loop, but it's guaranteed to only do so once sit goes back to sn. This is only possible when doing a full document copy - for some reason we weren't using this for that (in reset(xml_document)), but we are now. Fixes #314.
-
- Feb 19, 2020
-
-
Arseny Kapoulkine authored
We were previously relying on non-standard comment detection that is supported by gcc/clang to avoid warnings about implicit fallthrough. This can be solved using attributes but using them requires a lot of compiler-specific detection logic because not all versions of gcc/clang support them. We don't *really* need to rely on fallthrough here - the type conversion block can be located *after* the AST type switch instead, which means that any AST type that has type ambiguity can fall back to that in the future. Fixes #331.
-
- Feb 08, 2020
-
-
Arseny Kapoulkine authored
Update CMakeLists.txt to rename the static and shared libraries to pugixml
-
- Feb 07, 2020
-
-
Gianfranco Costamagna authored
Don't call them pugixml-shared or pugixml-static, because this breaks pkgconfig calls and userspace tools.
-
- Feb 01, 2020
-
-
Arseny Kapoulkine authored
-
Arseny Kapoulkine authored
This makes sure all conversions work as expected (note that no type can be converted to node set so we don't check that).
-
- Dec 20, 2019
-
-
Arseny Kapoulkine authored
Add POSITION_INDEPENDENT_CODE option
-
- Dec 06, 2019
-
-
Arnaud Botella authored
Allow to use the static library in other dynamic librairies. This is a standard cmake option https://cmake.org/cmake/help/v3.11/prop_tgt/POSITION_INDEPENDENT_CODE.html#prop_tgt:POSITION_INDEPENDENT_CODE
-
- Dec 04, 2019
-
-
Arseny Kapoulkine authored
Instead of performing a late null check that is redundant and only needed to silence clang static analysis warning, we pick the context as a root / self node. This way the code is a bit less redundant and the static analyzer is happy.
-
Arseny Kapoulkine authored
Fixing possible null pointer dereference
-
- Dec 02, 2019
-
-
Valeriy Van authored
-
- Nov 27, 2019
-
-
Arseny Kapoulkine authored
explicit casts for -Wconversions warnings in gcc
-
Lucas Amoudruz authored
-
- Oct 18, 2019
-
-
Arseny Kapoulkine authored
Fix incorrect installation location for exported CMake targets
-
Isabella Muerte authored
-
- Oct 06, 2019
-
-
Arseny Kapoulkine authored
Fix install locations for pkgconfig *and* cmake
-
Isabella Muerte authored
-
Arseny Kapoulkine authored
Modernize CMake
-
Isabella Muerte authored
-
- Oct 01, 2019
-
-
Isabella Muerte authored
The block of code can be removed in the future if CMake 3.15 ever becomes the minimum
-
Isabella Muerte authored
Move pugixml-config.cmake.in to scripts/ to prevent polluting the root
-
- Sep 28, 2019
-
-
Isabella Muerte authored
New Features: pugixml-shared and pugixml-static are "always" available, but not always built. This allows downstream projects to still use them, and to make sure our configurations are correct regardless of if they are being built. They are not always installed however. pugixml-shared and pugixml-static have ALIAS libraries of pugixml::shared and pugixml::static respectively. These names are also respected in the `find_package(pugixml CONFIG)` generated files, so its safe to use pugixml in a CMake project regardless of whether it is installed locally, or if its a subproject via `add_subdirectory`. pugixml will automatically select the correct library type based on BUILD_SHARED_LIBS. A pugixml::pugixml ALIAS is also available. CMAKE_MSVC_RUNTIME_LIBRARY from CMake 3.15 has been backported. CMake will now rely on generator expressions (a powerful abstraction in large projects with many subdirectories) for most work. This offloads work from the single-threaded configure stage to the multithreaded generation stage. pugixml now uses CTest as the runner. Some settings are automatically disabled if pugixml is used as a subdirectory. These are still able to be manually set, but are hidden from folks who choose to use CMake GUI.
-
Isabella Muerte authored
Bump CMake minimum to 3.4 pugixml no longer requires a C compiler to be found or set to compile correctly. This speeds up configuration and building on windows. Begin laying groundwork to backport MSVC_RUNTIME_LIBRARY property
-
- Sep 22, 2019
-
-
Tuan Anh Tran authored
Fixes #285
-
- Sep 21, 2019
-
-
Arseny Kapoulkine authored
This keeps src/ folder clean of auxiliary files only required for special builds; note that CMakeLists.txt already depends on scripts/ (specifically for pkgconfig setup).
-
- Sep 19, 2019
-
-
lady mesh authored
Closes #294
-
- Sep 18, 2019
-
-
Arseny Kapoulkine authored
The newly added tests make sure that during node/attribute destruction we deallocate a few memory pages; this makes sure that we don't read node data after it's being destroyed. Also clean up formatting/style in the remove_* implementation a bit.
-
Tuan Anh Tran authored
These functions remove all attributes / child nodes in bulk which is faster than removing them one at a time.
-
- Sep 16, 2019
-
-
Wolfgang Stöggl authored
-
Arseny Kapoulkine authored
Migrate from licenseUrl to license since licenseUrl is deprecated and fix grammar for VS version list.
-
- Sep 12, 2019
-
-
Arseny Kapoulkine authored
Update changelog and regenerate HTML documentation.
-
Arseny Kapoulkine authored
According to XML spec, > sometimes needs to be escaped in PCDATA (when it occurs as a ]]> pattern), but it doesn't need to be escaped in attribute values. Contributes to #272.
-
Arseny Kapoulkine authored
When using double quotes for attributes, we don't need to escape '; when using single quotes, we don't need to escape ". This changes behavior to match 1.9 by default (where we don't escape '). Contributes to #272.
-
Arseny Kapoulkine authored
Note: this chang also updates PUGIXML_VERSION macro to allow for double-digit minor versions; this preserves the continuity of versions so PUGIXML_VERSION >= 190 will still work.
-
- Sep 09, 2019
-
-
Joel Andres Granados authored
Create visual studio projects that are vs2019 compliant. * nuget_build.ps1 : Introduce a new argument that will define how we implement the nuget build. For now we accept 201{9,7.5.3} as possible argument values. * pugixml_vs2019{,_static}.vcxproj : Add two visual studio projects that build pugi with the latest SDK and build tools * appveyor.yml - Add Visual Studio 2019 to build targets - Add Visual Studio 201{9,3,5} to build_scripts. And call nuget_build.ps1 with a new argument. - Add Visual Studio 2019 to the test_scripts.
-
- Aug 21, 2019
-
-
Wolfgang Stöggl authored
- Typos were found by codespell v1.15.0
-
Arseny Kapoulkine authored
Self-assignment generates a Wself-assign-overloaded warning.
-
- Aug 04, 2019
-
-
Matan Nassau authored
appending the suffix to the build product need not be a function of whether CMAKE_CONFIGURATION_TYPES is set. for example, having two ninja build trees---one for debug and another for release---is a fine use-case for USE_POSTFIX.
-