Commit Graph

111 Commits (00fa70dae98ce1a597e9d0702a02eaad998bc6ee)

Author SHA1 Message Date
Pauli 2b79b4cce7 Use jsoncpp 1.8.4 as a submodule
This makes jsoncpp a submodule that can be build directly from git
sources. This changes depends/jsoncpp to depends/jsoncpp-sub to avoid
filename conflict if someone tries to use git bisect.

jsoncpp library name changes to jsoncpp_lib_static.

jsoncpp version is the latest tagged release.
2018-06-14 21:20:46 +03:00
Pauli 424028a0ae jsoncpp: Fix (U)Int64 to long int on 64bit linux
Passing a 64bit integer to Json::Value fails to find matching. Even
tough long long int is also 64bits gcc considres long long int different
to long int. But fix can't be as simple as removing an long from type
because that would reduce 32bit builds to have only 32bit maximum int
size. But standard offers fixed width integer types that can be used to
get correct underlying type depending on platform.
2018-06-14 17:24:50 +03:00
Pauli 01abcb756e Request c++14 support from compilers
All platforms seems to either have compiler supporting c++14. Windows
already requires msvc2015 that supports c++14 which should make it
minimal issue to require c++14 support from all compilers because gcc
is pretty easy to upgrade.
2018-06-10 23:15:33 +03:00
Ben Lubar 9cf4cdbc1f
Simplify CMakeLists.txt for protobuf.
All of the compilers we support have std::unordered_map and std::unordered_set in their standard locations.
2018-05-13 16:55:38 -05:00
lethosor e2cd1fca58 Reorder dfhack-md5 GCC flags, fix another embark-assistant warning 2018-05-13 13:09:51 -04:00
lethosor 016dab3990 Fix more warnings, including stonesense 2018-05-12 22:10:07 -04:00
lethosor fcd8c9606e Fix some warnings on OS X 2018-05-12 18:46:58 -04:00
Ben Lubar afc2c476bb
Fix remaining warnings on Windows. 2018-04-06 21:22:48 -05:00
Ben Lubar 8a53ad543f
Fix clsocket warnings. 2018-04-05 14:46:02 -05:00
Ben Lubar 5d24aa8b62
Fix memset call in md5.cpp 2018-04-05 14:28:00 -05:00
Ben Lubar 1ec96aa992
Disable pointless warnings in protobuf-generated code. 2018-04-05 13:58:10 -05:00
Ben Lubar 7bbfd456d3
Fix compile errors on Ubuntu 18.04 Bionic Beaver 2018-03-08 11:42:58 -06:00
Ben Lubar ac1d6f947f
Update clsocket submodule. See DFHack/clsocket#10. 2017-07-21 10:24:00 -05:00
lethosor 01c6416824 Update submodules 2017-05-13 21:56:08 -04:00
lethosor 03f56f7315 gunzip.pl: use binary output mode
Fixes an issue with LF being turned into CRLF on Windows
2017-04-30 17:06:57 -04:00
lethosor 38702febf7 Use LUA_(C)PATH_VAR instead of LUA_(C)PATH in luaconf.h
This was apparently changed at some point around Lua 5.3, so a custom LUA_PATH
environment variable could prevent DFHack from initializing.
2017-03-14 00:24:05 -04:00
Ben Rosser 144675c74b Update bundled tinyxml version from 2.5.3 to 2.6.2
Upstream has moved onto tinyxml2, so this is likely to be the last
release of the original tinyxml (2.6.2 came out in 2011). dfhack
should therefore probably ship 2.6.2, since it's unlikely there will
ever be future fixes to this code. The upstream changelog (taken
from "changes.txt" in upstream tarball) contains many bugfixes and
is included in the commit message below.

2.5.4
- A TiXMLDocument can't be a sub-node. Block this from happening in
  the 'replace'. Thanks Noam.
- [ 1714831 ] TiXmlBase::location is not copied by copy-ctors, fix
  reported and suggested by Nicola Civran.
- Fixed possible memory overrun in the comment reading code - thanks
  gcarlton77

2.5.5
- Alex van der Wal spotted incorrect types (lf) being used in print
  and scan. robertnestor pointed out some problems with the simple
  solution. Types updated.
- Johannes Hillert pointed out some bug typos.
- Christian Mueller identified inconsistent error handling with
  Attributes.
- olivier barthelemy also reported a problem with double truncation,
  also related to the %lf issue.
- zaelsius came up with a great (and simple) suggestion to fix
  QueryValueAttribute truncating strings.
- added some null pointer checks suggested by hansenk
- Sami V�is�nen found a (rare) buffer overrun that could occur in
  parsing.
- vi tri filed a bug that led to a refactoring of the attribute
  setting mess (as well as adding a missing SetDoubleAttribute() )
- removed TIXML_ERROR_OUT_OF_MEMORY. TinyXML does not systematically
  address OOO, and the notion it does is misleading.
- vanneto, keithmarshall, others all reported the warning from
  IsWhiteSpace() usage. Cleaned this up - many thanks to everyone
  who reported this one.
- tibur found a bug in end tag parsing

2.6.2
- Switched over to VC 2010
- Fixed up all the build issues arising from that. (Lots of latent
  build problems.)
- Removed the old, now unmaintained and likely not working, build
  files.
- Fixed some static analysis issues reported by orbitcowboy from
  cppcheck.
- Bayard 95 sent in analysis from a different analyzer - fixes
  applied from that as well.
- Tim Kosse sent a patch fixing an infinite loop.
- Ma Anguo identified a doc issue.
- Eddie Cohen identified a missing qualifier resulting in a compilation
  error on some systems.
- Fixed a line ending bug. (What year is this? Can we all agree on a
  format for text files? Please? ...oh well.)
2016-12-06 21:40:30 -05:00
lethosor 04ad7a0a42 Replace some instances of "cmake -E copy_if_different" with a standalone script
@JapaMala reported that CMake < 3.5 doesn't support copy_if_different with
multiple source files.

https://cmake.org/cmake/help/v3.5/release/3.5.html#command-line
2016-11-02 16:23:32 -04:00
lethosor 7f7102f90c Distribute a gunzip.pl script
gunzip isn't reliably available on Windows, but IO::Uncompress::Gunzip should
be.

Suggested by Quietust.
2016-10-15 12:09:04 -04:00
lethosor ada96b3162 Remove GCC version check in protobuf/CMakeLists.txt
The only thing this check was used for was disabled, and the root CMakeLists.txt
will enforce the minimum GCC version before protobuf is included.
2016-10-10 09:33:52 -04:00
lethosor 1029e0f02a Fix a few whitespace issues
From #992
2016-09-15 01:37:07 -04:00
David Seguin 01a97f6487
Made pthread required for building protobuf 2016-09-08 17:12:42 -04:00
lethosor 18a8512242 Fix LLONG_MAX/LLONG_MIN in luaconf.h with old glibc versions 2016-08-13 11:40:30 -04:00
Lethosor 6e741b1a80 Merge pull request #969 from Qartar/win64
Minor fixes/updates for Visual Studio 2015 Win64
2016-08-10 15:15:44 -04:00
lethosor aa47484b2a Enable bit32 library
Deprecated in Lua 5.3, but still contains some useful things, like extract()

Also helps maintain backward-compatibility with scripts that target older DF
versions (e.g. Mifki's dfremote project)
2016-08-09 18:57:24 -04:00
Carter Bray 3b9d37abe5 Suppress integer conversion warnings inside protobuf source 2016-07-31 17:01:52 -07:00
lethosor 158f18106f Merge remote-tracking branch 'NCommander/vs2015' into develop 2016-07-29 15:30:32 -04:00
lethosor adff13f4ab Lua: re-enable C++ exceptions (re 42c620b) 2016-07-27 21:44:25 -04:00
lethosor 828fee532a Switch to downloading zlib.lib and SDLreal.dll on Windows 2016-07-27 21:08:24 -04:00
Vitaly Pronkin 8916aba3bf win64 fixes (partial)
cherry-picked from 2f734ae2317060edb83021f17cffc966c435ad7b
2016-07-27 19:46:49 -04:00
Vitaly Pronkin 4dd411e862 Update Lua config and patch checkdp 2016-07-26 23:29:26 -04:00
lethosor e2c6350978 Update Lua to 5.3.3 2016-07-26 23:23:26 -04:00
lethosor a684e1dd0f Merge remote-tracking branch 'lethosor/64-bit' into develop 2016-07-26 22:54:36 -04:00
Michael Casadevall e10397370b Merge branch 'develop' of github.com:DFHack/dfhack into vs2015 2016-07-11 18:59:22 -05:00
lethosor 2455e36510 Initial 64-bit support 2016-07-03 23:32:43 -04:00
Ben Rosser ae55d2d526 Support linking against an external tinyxml if EXTERNAL_TINYXML is set
As best as I can tell, the copy of tinyxml dfhack uses is unmodified
from whenever it was first bundled. This commit adds an option to CMake,
EXTERNAL_TINYXML, that if set to ON, will attempt to link against a system
tinyxml instead of using the dfhack-bundled one.  It defaults to OFF,
so there is no change in default behavior.

The DFHACK_TINYXML variable is then set to either "tinyxml" or "dfhack-tinyxml"
so the library (and any plugins that need updating) can link against one
or the other.

The FindTinyXML.cmake script was taken from https://github.com/ros/cmake_modules
(licensed under the 3-clause BSD license).

Add license text to new CMake file.
2016-06-29 17:53:16 -04:00
Michael Casadevall c3188b1d6c Make our build checks relate to the new compiler world order
(thanks lethosor)

Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-28 07:13:52 -05:00
Michael Casadevall 62e8740e3a Backport new hash.h from git upstream to add support for VS2015
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-28 07:13:18 -05:00
lethosor f07bc03c69 Update clsocket and Open()/Listen() usage 2016-06-14 13:21:51 -04:00
lethosor a47a1c83ba Update xml, clsocket 2016-06-07 08:17:40 -04:00
Ben Lubar bfe7a90ec0 add NOMINMAX to Windows.h includes 2016-05-21 19:54:20 -05:00
Ben Lubar 700392ba55 Fix tinythread memory leak in two ways:
1. update to tinythread version 1.1, which provides a detach method
2. move the thread disassociation to the join function, which allows
attached threads to be joined even after they finish (this was the main
leak)

Also update RemoteServer.cpp to detach threads and delete the thread
objects instead of leaking them (although they are much smaller than the
actual threads).
2016-05-21 19:17:08 -05:00
lethosor 71ff6f875a Also exclude libprotoc when cross-compiling (unused) 2016-01-18 09:22:08 -05:00
lethosor e8ea5c93ca Build testHashMap.cpp in the build directory
This allows switching between build directories without having to re-run CMake
2016-01-09 08:37:01 -05:00
lethosor 8cec8af3b1 CMake: Support cross-compiling
This relies on a working cross-compiler, of course, as well as a separate build
directory for cross-compiled builds, with DFHACK_NATIVE_BUILD_DIR pointing
to an already-successful native build directory (this is needed for protoc).
2016-01-08 21:08:26 -05:00
lethosor 80556449a1 Improve Json::get() slightly 2015-11-27 16:45:26 -05:00
lethosor 485eddc54e JsonEx -> Json 2015-11-26 20:24:14 -05:00
lethosor e15dcfd72a protobuf: Disable unused-result warnings in release mode 2015-11-05 21:52:04 -05:00
lethosor 867b733a04 Fix a few GCC warnings on Linux (GCC 4.6) 2015-11-05 21:48:13 -05:00
lethosor f4a2188e42 Travis: Build DFHack 2015-10-03 15:58:41 -04:00