remove bit rotted premake5, update readme
This commit is contained in:
95
premake5.lua
95
premake5.lua
@@ -1,95 +0,0 @@
|
|||||||
--
|
|
||||||
-- Requires: Premake 5 (https://premake.github.io/)
|
|
||||||
-- Usage: premake5 --file=premake5.lua [project / makefile format, refer to premake5 --help] --target=[target from below]
|
|
||||||
--
|
|
||||||
|
|
||||||
-- target option
|
|
||||||
tbl_target_values =
|
|
||||||
{
|
|
||||||
{ "windows", "VS2015 projects targeting Windows 32/64 bits" },
|
|
||||||
{ "macosx", "Xcode4 projects targeting OS X" },
|
|
||||||
}
|
|
||||||
|
|
||||||
newoption
|
|
||||||
{
|
|
||||||
trigger = "target",
|
|
||||||
description = "Build environment and target to generate projects for.",
|
|
||||||
allowed = tbl_target_values
|
|
||||||
}
|
|
||||||
|
|
||||||
-- validation
|
|
||||||
target_env = _OPTIONS["target"]
|
|
||||||
if not target_env then
|
|
||||||
print "Command-line option --target is required with one of the following values:"
|
|
||||||
for _, v in ipairs(tbl_target_values) do
|
|
||||||
print(v[1])
|
|
||||||
end
|
|
||||||
os.exit(1)
|
|
||||||
end
|
|
||||||
|
|
||||||
-- solution
|
|
||||||
workspace "tinyxml2"
|
|
||||||
|
|
||||||
tbl_platforms = {}
|
|
||||||
if target_env == "windows" then
|
|
||||||
tbl_platforms = {
|
|
||||||
"x86",
|
|
||||||
"x64",
|
|
||||||
}
|
|
||||||
elseif target_env == "macosx" then
|
|
||||||
tbl_platforms = {
|
|
||||||
"Universal64"
|
|
||||||
}
|
|
||||||
end
|
|
||||||
platforms(tbl_platforms)
|
|
||||||
|
|
||||||
tbl_configurations = {
|
|
||||||
"Debug",
|
|
||||||
"Release",
|
|
||||||
}
|
|
||||||
configurations(tbl_configurations)
|
|
||||||
|
|
||||||
sln_location = ".projects/"..target_env
|
|
||||||
location(sln_location)
|
|
||||||
|
|
||||||
bin_location = ".artifacts/"..target_env
|
|
||||||
obj_location = ".intermediate/"..target_env
|
|
||||||
|
|
||||||
for _, p in ipairs(tbl_platforms) do
|
|
||||||
for _, c in ipairs(tbl_configurations) do
|
|
||||||
local pc = p.."-"..c
|
|
||||||
filter{ "platforms:"..p, c }
|
|
||||||
targetdir(bin_location.."/"..pc)
|
|
||||||
libdirs(bin_location.."/"..pc)
|
|
||||||
objdir(obj_location.."/"..pc)
|
|
||||||
end
|
|
||||||
end
|
|
||||||
|
|
||||||
filter("not Release")
|
|
||||||
optimize "Debug"
|
|
||||||
symbols "On"
|
|
||||||
filter{ "Release" }
|
|
||||||
optimize "Full"
|
|
||||||
filter{}
|
|
||||||
|
|
||||||
-- projects
|
|
||||||
project "tinyxml2"
|
|
||||||
|
|
||||||
kind "staticlib"
|
|
||||||
|
|
||||||
files {
|
|
||||||
"tinyxml2.h",
|
|
||||||
"tinyxml2.cpp"
|
|
||||||
}
|
|
||||||
|
|
||||||
project "xmltest"
|
|
||||||
|
|
||||||
kind "consoleapp"
|
|
||||||
|
|
||||||
links {
|
|
||||||
"tinyxml2"
|
|
||||||
}
|
|
||||||
|
|
||||||
files {
|
|
||||||
"xmltest.cpp"
|
|
||||||
}
|
|
||||||
43
readme.md
43
readme.md
@@ -61,18 +61,15 @@ browsers or have more complete XML needs, TinyXML-2 is not the parser for you.
|
|||||||
TinyXML-1 vs. TinyXML-2
|
TinyXML-1 vs. TinyXML-2
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
TinyXML-2 is now the focus of all development, well tested, and your
|
TinyXML-2 long been the focus of all development. It is well tested
|
||||||
best choice between the two APIs. At this point, unless you are maintaining
|
and should be used instead of TinyXML-1.
|
||||||
legacy code, you should choose TinyXML-2.
|
|
||||||
|
|
||||||
TinyXML-2 uses a similar API to TinyXML-1 and the same
|
TinyXML-2 uses a similar API to TinyXML-1 and the same
|
||||||
rich test cases. But the implementation of the parser is completely re-written
|
rich test cases. But the implementation of the parser is completely re-written
|
||||||
to make it more appropriate for use in a game. It uses less memory, is faster,
|
to make it more appropriate for use in a game. It uses less memory, is faster,
|
||||||
and uses far fewer memory allocations.
|
and uses far fewer memory allocations.
|
||||||
|
|
||||||
TinyXML-2 has no requirement or support for STL. By returning `const char*`
|
TinyXML-2 has no requirement or support for STL.
|
||||||
TinyXML-2 can be much more efficient with memory usage. (TinyXML-1 did support
|
|
||||||
and use STL, but consumed much more memory for the DOM representation.)
|
|
||||||
|
|
||||||
Features
|
Features
|
||||||
--------
|
--------
|
||||||
@@ -262,32 +259,12 @@ There are 2 files in TinyXML-2:
|
|||||||
And additionally a test file:
|
And additionally a test file:
|
||||||
* xmltest.cpp
|
* xmltest.cpp
|
||||||
|
|
||||||
Simply compile and run. There is a visual studio 2019 project included, a simple Makefile,
|
Generally speaking, the intent is that you simply include the files in your project
|
||||||
an Xcode project, a Code::Blocks project, a cmake CMakeLists.txt, and a meson.build are
|
and build.
|
||||||
included to help you. The top of tinyxml.h even has a simple g++ command line if you are
|
|
||||||
using Unix/Linux/BSD and don't want to use a build system.
|
|
||||||
|
|
||||||
Using as a Meson Subproject
|
There is also a CMake build included.
|
||||||
---------------------------
|
|
||||||
|
|
||||||
Create a wrap file such as:
|
A Visual Studio project is included, but that is largely for developer convenience.
|
||||||
```ini
|
|
||||||
[wrap-git]
|
|
||||||
url = https://github.com/leethomason/tinyxml2.git
|
|
||||||
revision = 8.0.1 # this can be any commit-ish (tag, sha) or the special value `head`
|
|
||||||
```
|
|
||||||
|
|
||||||
or, if you prefer to not use git
|
|
||||||
|
|
||||||
```ini
|
|
||||||
[wrap-file]
|
|
||||||
directory = tinyxml2-8.0.1 # this is the name of the directory after de-compressing
|
|
||||||
source_url = https://github.com/leethomason/tinyxml2/archive/8.0.1.tar.gz
|
|
||||||
source_hash = sha256sum of compressed sources
|
|
||||||
```
|
|
||||||
|
|
||||||
in your project's `subprojects/` folder, and follow the meson documentation
|
|
||||||
for using fallbacks.
|
|
||||||
|
|
||||||
Building TinyXML-2 - Using vcpkg
|
Building TinyXML-2 - Using vcpkg
|
||||||
--------------------------------
|
--------------------------------
|
||||||
@@ -310,12 +287,6 @@ TinyXML-2 uses semantic versioning. http://semver.org/ Releases are now tagged i
|
|||||||
Note that the major version will (probably) change fairly rapidly. API changes are fairly
|
Note that the major version will (probably) change fairly rapidly. API changes are fairly
|
||||||
common.
|
common.
|
||||||
|
|
||||||
Documentation
|
|
||||||
-------------
|
|
||||||
|
|
||||||
The documentation is built with Doxygen, using the 'dox'
|
|
||||||
configuration file.
|
|
||||||
|
|
||||||
License
|
License
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user