Commit Graph

1197 Commits

Author SHA1 Message Date
Lee Thomason
3291390336 update the docs 8.1.0 2021-05-15 20:28:24 -07:00
Lee Thomason
9c6752a641 setting the version to 8.1.0 2021-05-15 20:21:47 -07:00
Lee Thomason
cc2efbbd21 Merge pull request #861 from leethomason/modern-cmake-2
Modern CMake overhaul and project fixes.
2021-05-15 20:14:35 -07:00
Lee Thomason
95b80f4458 update readme 2021-05-15 19:57:11 -07:00
Lee Thomason
7d054695ee update gitignore 2021-05-15 19:54:49 -07:00
Lee Thomason
212a53bb5b refresh visual studio project 2021-05-15 19:48:24 -07:00
Lee Thomason
be4eaaac8a remove bit rotted premake5, update readme 2021-05-15 19:40:53 -07:00
Lee Thomason
97739352a7 test new build links 2021-05-15 19:26:51 -07:00
Lee Thomason
efefbb85bc Merge branch 'master' of https://github.com/modern-cmake/tinyxml2 into modern-cmake-master 2021-05-15 18:54:24 -07:00
Lee Thomason
f2db58e658 Merge pull request #859 from cugone/FixWrongQueryAssignment
Fixes Query results in xmltest being assigned to int instead of XMLError
2021-05-10 19:54:20 -07:00
cugone
5e76573894 Fix Query function results being assigned to int instead of XMLError 2021-05-09 02:05:54 -05:00
Lee Thomason
6376b3fbc7 Merge pull request #845 from dov/patch-1
Fix type in meson.build
2021-05-08 15:44:59 -07:00
Alex Reinking
7df6b3ff4a Overhaul CMake build 2021-05-08 11:30:29 -07:00
Dov Grobgeld
9d899a73c4 Update meson.build
Fixed typo
2021-01-26 21:09:43 +02:00
Lee Thomason
d4514ad72b Merge pull request #837 from dcbaker/meson
Add meson build system
2020-12-30 10:43:36 -08:00
Lee Thomason
91bfd4b7fc Merge pull request #827 from ngc92/ClearError
removed overhead of clear error
2020-12-30 10:35:45 -08:00
Lee Thomason
4ec7320e57 Merge pull request #790 from offlinemark/mark/cmake-namespace
cmake: Use a namespace for the tinyxml2 target in local export
2020-12-30 10:25:16 -08:00
Lee Thomason
ee6684483c Merge pull request #831 from plekakis/master
Fix for enum in StrPair and TIXMLASSERT define behaviour
2020-12-30 10:20:54 -08:00
Lee Thomason
a9ed6746dd Merge pull request #838 from dfaure-kdab/Wundef
Add missing `defined`, detected by -Werror=undef
2020-12-30 10:18:44 -08:00
Lee Thomason
11376382fa Merge pull request #840 from dota17/master
skip comment node before get text
2020-12-30 10:18:16 -08:00
Lee Thomason
8e1af3a7f9 Merge pull request #841 from pazner/master
Fix errors/warnings with hexadecimal format string in sscanf
2020-12-30 10:17:16 -08:00
Will Pazner
d3a82c5e45 Fix format string errors in sscanf 2020-11-19 20:50:36 -08:00
dota17
d59fd15db6 skip comment node before get text 2020-10-22 15:16:34 +08:00
Dylan Baker
c509d569c0 Add meson build system
Meson is a build system somewhat like cmake, but without all of the
rough edges. It supports many OSes, including all of the major ones, and
a large number of C++ compilers.

My interest isn't really in convincing people to use meson as the
default here, but meson provides a subproject mechanism that can fetch
external projects and build them along with the main project in a single
configure/compile invocation. This is extremely useful for platforms
that lack a (competent) package manager.

As far as I know the meson build does everything the cmake build does,
with one exception: generate the cmake config/version files. meson can
generate these files, but only in simple cases, and not when using
export targets like tinyxml2 does.
2020-10-09 12:21:27 -07:00
David Faure
b5d3b93e05 Add missing defined, detected by -Werror=undef 2020-10-09 09:59:50 +02:00
Mark Mossberg
4001a468b7 cmake: Use a namespace for the tinyxml2 target in local export
Previously in the locally (cmake build dir) exported cmake script,
there was no namespace, so the targets would directly be available
in the global namespace. Users would do something like:

    include(cmake/tinyxml2Targets.cmake)
    target_link_libraries(main tinyxml2)

Now, a namespace is used (just like the cmake export that is exported
to the system at the `install(EXPORT...)` command at the bottom of this
file. Uses will now look like:

    include(cmake/tinyxml2Targets.cmake)
    target_link_libraries(main tinyxml2::tinyxml2)

This is technically a minor breaking change. It will only affect users
that actually use the *locally* export cmake targets script, which I
expect to be fairly few (note that this is different from the system
exported script). Also, it will only affect users that freshly
build at this commit of tinyxml2, and have the cmake for their
downstream project configured to load it. That cmake will need to be
changed from the first snippet to the second snippet above.
2020-09-27 00:50:23 -04:00
Pantelis Lekakis
c87bf8187d reverted the strong typed enum change 2020-09-23 21:59:13 +01:00
Lee Thomason
1aeb57d26b Merge pull request #823 from c72578/2020-06-17_Fix_pkgconfig_lib_postfix
cmake: Fix debug postfix in pkgconfig file
2020-09-17 13:55:47 -07:00
Lee Thomason
a0ce5527ab Merge pull request #789 from offlinemark/mark/cmake-clean
cmake: Refactor targets export variable and improve comments
2020-09-17 13:28:16 -07:00
Lee Thomason
54e1d6b2fa Merge pull request #820 from orudge/fix-symbol-export
cmake: Don't export symbols if building static library
2020-09-17 13:19:14 -07:00
Pantelis Lekakis
6df0cae189 - Allowing TIXMLASERT to be defined before including the main header.
- Fix for enum bitmask usage
2020-09-08 00:41:58 +01:00
ngc92
2c6a41a92e removed overhead of clear error 2020-07-30 23:51:30 +03:00
Lee Thomason
2c5a6bfdd4 reorder 2020-07-02 15:41:27 -07:00
Lee Thomason
51d9f51d1a update readme link 2020-07-02 15:40:30 -07:00
Lee Thomason
4637965335 add test case 2020-07-02 15:23:00 -07:00
Lee Thomason
d34d0ef5e0 Merge pull request #822 from ghost/queryattr
Add QueryAttribute for const char**
2020-07-02 15:18:56 -07:00
Wolfgang Stöggl
1e384d5031 Fix debug postfix in pkgconfig file
CMakeLists.txt uses set(CMAKE_DEBUG_POSTFIX "d") to distinguish
between debug and release lib. Use this postfix also in the
generated tinyxml2.pc file in case of a CMake Debug build.
This results in the following contents of tinyxml2.pc
- Release:
  Libs: -L${libdir} -ltinyxml2
- Debug:
  Libs: -L${libdir} -ltinyxml2d
2020-06-17 06:22:09 +02:00
justnope
5ee20feaf0 Add QueryAttribute for const char** 2020-06-15 00:47:48 +02:00
Lee Thomason
fc89670749 update the docs 2020-06-13 19:02:58 -07:00
Lee Thomason
2e6912bf8a Merge pull request #816 from a-lunkov/master
Suppress UndefinedBehaviorSanitizer warnings
2020-06-13 17:52:03 -07:00
Lee Thomason
098eb37398 Merge branch 'master' of github.com:leethomason/tinyxml2 2020-06-13 17:46:53 -07:00
Lee Thomason
8812f197ac make printer functions virtual 2020-06-13 17:46:44 -07:00
Lee Thomason
6b7effe541 Merge pull request #812 from amai2012/master
Add github action
2020-06-13 17:40:45 -07:00
Lee Thomason
1578df3bf8 Merge pull request #811 from hyperair/fix-first-line-indentation
XMLPrinter: Fix first line indentation
2020-06-13 17:38:20 -07:00
Lee Thomason
98ca9146b4 Merge branch 'netcan-master' 2020-06-13 17:35:35 -07:00
Lee Thomason
18468b8cc4 minor changes to hex parsing 2020-06-13 17:35:21 -07:00
Lee Thomason
c9c9d8cdfa Merge branch 'master' of https://github.com/netcan/tinyxml2 into netcan-master 2020-06-13 17:26:30 -07:00
Owen Rudge
b341e66e3c cmake: Don't export symbols if building static library 2020-06-01 14:57:53 +01:00
a-lunkov
a953b9565d Suppress UndefinedBehaviorSanitizer warnings
I compiled tinyxml2 with the following changes to CMakeLists.txt:
-------------------------------------------------- ------------------------------------------
set (CMAKE_C_COMPILER "/ usr / local / bin / clang10")
set (CMAKE_CXX_COMPILER "/ usr / local / bin / clang ++ 10")
add_compile_options (-g)
add_compile_options (-fsanitize = address, undefined, integer, alignment, bool, builtin, bounds, enum, function, nonnull-attribute, null, object-size, pointer-overflow, return, returns-nonnull-attribute, unreachable, vla-bound , vptr)

set_source_files_properties (tinyxml2.cpp tinyxml2.h
                            PROPERTIES COMPILE_FLAGS -fsanitize = address, undefined, integer, alignment, bool, builtin, bounds, enum, function, nonnull-attribute, null, object-size, pointer-overflow, return, returns-nonnull-attribute, unreachable, vla-bound , vptr)
TARGET_LINK_LIBRARIES (tinyxml2 /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/libclang_rt.asan-x86_64.a /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/libang asan_cxx-x86_64.a /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/libclang_rt.ubsan_standalone-x86_64.a /usr/local/llvm10/lib/clang/10.0.0/lib/freebsd/ libclang_rt.ubsan_standalone_cxx-x86_64.a -lpthread)
-------------------------------------------------- ------------------------------------------
(Sorry for the dirty code.)

And launched the xmltest utility:
-------------------------------------------------- ------------------------------------------
/home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:237:37: runtime error: implicit conversion from type 'char' of value -48 (8-bit, signed) to type 'unsigned char' changed the value to 208 (8-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:237:37 in
/home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:243:40: runtime error: implicit conversion from type 'char' of value -96 (8-bit, signed) to type 'unsigned char' changed the value to 160 (8-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:243:40 in
/home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:1912:39: runtime error: implicit conversion from type 'char' of value -48 (8-bit, signed) to type 'unsigned char' changed the value to 208 (8-bit, unsigned)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior /home/qqq/17_tinyxml2/tinyxml2-master/tinyxml2.cpp:1912:39 in
-------------------------------------------------- ------------------------------------------
2020-05-13 18:24:08 +03:00
a-lunkov
ba02706e65 Merge pull request #1 from leethomason/master
Switch to master
2020-05-13 18:22:41 +03:00