Commit Graph

452 Commits (1eaee610447244784c5bca8dc20dd700cde5ceb5)

Author SHA1 Message Date
lethosor ea0105fa66 Add CMake option to provide custom libstdc++ on macOS (#1344) 2019-07-20 11:21:44 -04:00
lethosor 76da2c2aaf Clean up CMakeLists.txt style 2019-07-16 22:19:11 -04:00
lethosor ea37eecfb1 Document and warn about old CMake versions with Ninja
Resolves #1369
2019-07-16 19:33:33 -04:00
lethosor 9fe24e1b3f Update changelog and bump version to r2 2018-12-27 19:39:43 -05:00
Ben Lubar 40669d7a63
Change CMakeSettings.json to use Ninja.
Add DFHACK_INCLUDE_CORE option for easier development.
2018-07-20 13:29:18 -05:00
lethosor 063602349c Add a basic test library and a couple GUI module tests (squashed)
Also modified Core/Console a bit to get this to actually produce output on
Travis (DFHACK_DISABLE_CONSOLE now allows console output, just not input)

Squashed merge from lethosor/tests
2018-07-18 14:29:13 -04:00
lethosor 1d6c3dc871 Merge remote-tracking branch 'suokko/fix_cmake_dependencies_to_generated_headers' into develop 2018-07-17 00:24:18 -04:00
lethosor c2a64b3573 Update changelog, xml, bump to r1 2018-07-13 21:16:35 -04:00
lethosor 14725bce59 Make DFHACK_BUILD_ARCH default to 64 2018-07-13 11:04:33 -04:00
Pauli 1226919b16 Fix the CMAKE_BUILD_TYPE help string and make it list of strings in gui
While testing the build dependency issues I noticed that cmake C module
overwrites our CMAKE_BUILD_TYPE help. I decided to fix the help and make
the build type a gui string which makes it easier to select build
configuration.
2018-07-13 15:23:59 +03:00
Ben Lubar 7486423e6d
Add CMakeSettings.json for MSVC 2017.
MSVC 2017 is binary-compatible with MSVC 2015, so it's safe to allow CMake to be used from within Visual Studio 2017.
2018-07-11 16:57:52 -05:00
lethosor 7afa3690bf Add support for DFHACK_BUILD_ID
Used for BuildMaster builds, for example
2018-07-11 11:47:55 -04:00
lethosor 5d16e5a74c Bump to 0.44.12-alpha1 2018-07-08 14:26:57 -04:00
lethosor d68354dc93 Bump to 0.44.12 2018-07-08 00:15:59 -04:00
lethosor 00fa70dae9 Bump to beta2.1 (stonesense fix) 2018-07-07 21:42:01 -04:00
lethosor 9bc8f4abdf Bump to beta2 2018-07-07 19:45:21 -04:00
lethosor 5a0d00d5d2 Bump to beta1, update scripts, update/fix changelog 2018-07-06 17:56:22 -04:00
lethosor f0ff96f614 Merge remote-tracking branch 'suokko/multibyte_console' into develop 2018-07-02 10:55:03 -04:00
lethosor 105ddd86d8 Merge remote-tracking branch 'suokko/jsoncpp_upgrade_to_submodule' into develop 2018-06-29 22:33:00 -04:00
lethosor 3c2bfb6f47 Bump to 0.44.11-alpha1, update changelog, xml 2018-06-28 13:31:56 -04:00
lethosor 19627b9221 Bump to 0.44.11 2018-06-24 17:42:31 -04:00
Pauli 84b1361387 Make cuchar check test if c32rtomb is present in system
Fix for mac build where cuchar is present but uchar.h is not.
2018-06-22 17:57:37 +03:00
Pauli 84f8a75a2e Add cuchar fallback implementation for gcc 4 and 5 2018-06-22 17:57:37 +03:00
lethosor 8a1979b8a7 Update version in CMakeLists.txt to 0.44.10-r2 2018-06-21 22:34:11 -04:00
Pauli 87e7c0f7aa Add cmake configuration to select if stubs include symbols
G++ generates structure debug symbols for a few df namespace classes to
generated stub source files. I decided to test how much symbols from
those files would increase binary size. When the result was about double
size I decided to add cmake configuration option to let user easily
select if they prefer complete symbols or reduced size.
2018-06-19 16:16:38 +03:00
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
lethosor d35b6d468c Remove /std:c++11 flag
MSVC doesn't actually support this

Also actually indent the "if" block

Ref #1301, dfhack/df-structures#247
2018-06-14 13:46:39 -04:00
lethosor 284a842cef Fix typo (#1301) 2018-06-13 16:09:38 -04:00
Pauli 750b0d766d Ask for c++11 because gcc 4.8 is still supported 2018-06-11 00:15:57 +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
lethosor 8cb5e7fa88 Bump version to 0.44.10-r1 2018-05-18 15:08:05 -04:00
Ben Lubar c6f12e4fef
Remove /O2 flag for MSVC in RelWithDebInfo mode. (causes a warning when building MSVC in Makefile mode) 2018-05-13 17:16:22 -05:00
lethosor 5742e1868a Update many things for 0.44.10-beta1
Including authors update for #1265
2018-05-12 00:07:45 -04:00
lethosor 4fe55639be Update version/submodules to 0.44.10-alpha1 2018-05-07 00:25:21 -04:00
lethosor 5cd8aa0458 Update downloads to 0.44.09 2018-04-19 12:35:00 -04:00
Ben Lubar afc2c476bb
Fix remaining warnings on Windows. 2018-04-06 21:22:48 -05:00
lethosor b6311ec6b8 Bump to 0.44.09-r1 2018-04-04 22:45:34 -04:00
lethosor c8089db5df Install the correct libstdc++ 2018-04-04 20:01:27 -04:00
lethosor ceb4cc7577 Add downloads for OS X GCC 7 stdlib 2018-04-04 19:45:44 -04:00
lethosor 26fb047aef Adjust which changelog files get installed 2018-04-02 22:21:03 -04:00
lethosor d9d4b3deba Fix NEWS installation 2018-04-02 14:49:02 -04:00
lethosor b3c3480c95 Fix doc build dependencies 2018-04-02 14:26:47 -04:00
lethosor 573fcb4bd0 Bump to 0.44.09-alpha1, update news/submodules 2018-04-02 01:00:20 -04:00
lethosor 2c9c935c0e Update submodules/news, bump to 0.44.08-alpha1 2018-03-29 11:38:55 -04:00
lethosor 93bef3351e Update submodules/news, bump to beta1 2018-03-28 22:01:27 -04:00
Ben Lubar 40654954a1
Partial preparation for 0.44.07-alpha1.
Still need to write release notes and add tags.
2018-03-13 15:49:42 -05:00
lethosor ad57037711 Merge remote-tracking branch 'BenLubar/cmp0022-warning' into develop 2018-03-10 17:02:34 -05:00
lethosor d55048dfa1 Merge remote-tracking branch 'BenLubar/ubuntu-bionic' into develop 2018-03-10 16:57:07 -05:00
lethosor f2ff609e1c Initial 0.44.06 support, update xml 2018-03-10 16:18:15 -05:00
Ben Lubar c260996d61
Update required CMake version 2018-03-08 12:26:10 -06:00
Ben Lubar 7bbfd456d3
Fix compile errors on Ubuntu 18.04 Bionic Beaver 2018-03-08 11:42:58 -06:00
Ben Lubar 4ca12621a2
Remove remaining CMP0022 usage 2018-03-08 11:38:46 -06:00
lethosor 0e7ab27850 Bump to r2, update changelog, update submdules 2018-02-21 23:07:53 -05:00
lethosor d71e252b50 Bump to r1 2018-02-03 22:17:28 -05:00
lethosor ce1644d655 Bump to 0.44.05-alpha1 and update submodules 2018-01-14 18:21:46 -05:00
lethosor 16c4cde214 Change version to 0.44.04 and update xml 2018-01-11 12:10:21 -05:00
lethosor 677833eeaa Bump to 0.44.03-beta1 2017-12-29 23:41:47 -05:00
lethosor 0eff9fa084 Bump version to 0.44.03-alpha1 and update submodules 2017-12-25 22:48:54 -05:00
lethosor 6175d7c151 Bump to 0.44.02-beta1 2017-12-23 22:09:35 -05:00
lethosor 43b19c893a Bump version to alpha1 2017-12-07 14:43:50 -05:00
lethosor 5c9318654d Change release to alpha0 to avoid error from prerelease-warning 2017-12-04 13:31:42 -05:00
lethosor 7508126bef Change version to 0.44.02-r0 2017-11-25 00:50:22 -05:00
lethosor e2f705c76d Update version in CMakeLists.txt 2017-11-23 16:38:05 -05:00
lethosor 4f38260e8c Pass the correct architecture to setarch on Linux
Fixes #1129
2017-08-21 19:34:46 -04:00
lethosor 48a61420b7 Bump version 2017-07-12 19:06:37 -04:00
Ben Lubar 10078841fb
Remove NDEBUG definition from RelWithDebInfo to enable asserts. 2017-06-27 12:58:29 -05:00
lethosor 2396392b79 Bump to r1 2017-05-13 21:58:07 -04:00
lethosor cd5944689c Use find_package() to find Perl, and run it earlier
Previously, PERL_EXECUTABLE was set manually in library/CMakeLists.txt, which
caused gunzip.pl to fail if was run before that happened.
2017-04-30 17:36:42 -04:00
lethosor 22db0e4a1e Bump to 0.43.05-beta2 2017-04-23 17:23:38 -04:00
lethosor 33060c7d0e Bump to beta1 2017-02-11 20:48:37 -05:00
lethosor 6b3a5ac784 Bump to alpha4 2016-12-29 00:40:43 -05:00
lethosor 7b2e6f299f Bump version to 0.43.05-alpha3 2016-12-14 13:18:37 -05:00
lethosor 4c0cb6854f Change minimum GCC version to 4.8 2016-12-11 00:23:16 -05:00
lethosor 13eb5e702b bump to alpha2 2016-11-22 20:50:19 -05:00
lethosor 5fb986bde1 Warn for GCC versions before 4.8 2016-11-07 15:07:27 -05:00
lethosor 4941c06654 Only use TBZ2 generator on OS X 2016-10-31 02:06:06 -04:00
lethosor 45ff1a0353 Add architecture to package names 2016-10-31 02:05:46 -04:00
lethosor 4d74090b34 Bump version in CMakeLists.txt 2016-10-15 17:27:08 -04:00
lethosor 869e705549 Re-run zlib and pthread scans on Linux/OS X when the build architecture changes
Fixes #982, ref #992
2016-09-15 10:24:57 -04:00
lethosor 38cd830abf Revert "Added check to rescan zlib and pthread on linux"
This reverts commit 36b9ee5cf4.

Ref #992, #982
2016-09-15 01:52:54 -04:00
lethosor 1029e0f02a Fix a few whitespace issues
From #992
2016-09-15 01:37:07 -04:00
David Seguin 860e584006
Added @lethosor 's change 2016-09-08 11:28:15 -04:00
David Seguin 36b9ee5cf4 Added check to rescan zlib and pthread on linux
unset ZLIB_LIBRARY and CMAKE_HAVE_PTHREAD_H to rescan those libs
when arch changes from 32 to 64 (and vis-versa). There may be a
better way to do this.
2016-09-07 23:36:22 -04:00
lethosor acc4a6a0b1 Set CMAKE_POSITION_INDEPENDENT_CODE
Needed on 64-bit Linux
2016-08-10 15:48:47 -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 b9092c94f5 Don't search for 32-bit zlib when targeting 64-bit Linux 2016-08-09 19:10:38 -04:00
lethosor 9c28d1a085 Improve CMake file downloads
- Files are redownloaded if their expected MD5 changes in CMakeLists.txt
- Refactored some
2016-08-08 16:51:52 -04:00
Carter Bray 625fbbec1d Automatically detect architecture based on Visual Studio generator
DFHACK_BUILD_ARCH is no longer cached on Windows since it is not possible
to build Win32 targets with the Win64 generator or vice versa. No change
for GCC builds.
2016-07-31 17:01:47 -07:00
lethosor 60cf860450 Merge branch 'develop' of dfhack/dfhack into develop 2016-07-29 19:15:53 -04:00
lethosor 6e1777e1e3 Remove _SILENCE_STDEXT_HASH_DEPRECATION_WARNINGS
Fixed by #959
2016-07-29 19:13:19 -04:00
lethosor 158f18106f Merge remote-tracking branch 'NCommander/vs2015' into develop 2016-07-29 15:30:32 -04:00
lethosor 42c620bb9c Download non-broken libstdc++ on OS X 2016-07-27 21:43:38 -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 fe18f176f7 More 64-bit fixes
Cherry-picked from 7eb3ba6
- Lua update already done in e2c6350, 4dd411e
- Excluded library/modules/Buildings.cpp
2016-07-26 23:47:53 -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 98893793bd Turn off prerelease flag 2016-07-06 21:27:54 -04:00
Lethosor 4f96bdd0eb Merge pull request #950 from TC01/linux-system-tinyxml
Support linking against an external tinyxml if EXTERNAL_TINYXML is set
2016-07-06 20:37:28 -04:00
lethosor 2de2e6a983 Update CMakeLists and submodules 2016-07-06 20:30:28 -04:00
lethosor 2455e36510 Initial 64-bit support 2016-07-03 23:32:43 -04:00
lethosor cfaba3ec71 Update various references to scripts/ and mention old git issues in Compile.rst 2016-06-29 19:38:15 -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 d49032ef73 Supress a lot of compiler noise in hopes of finding real errors. Right now, a plugin free DFHack can be built with VS2015 2016-06-28 08:34:11 -05:00
Michael Casadevall e94804ca9f Convince the build system to generate VS2015 project files
Signed-off-by: Michael Casadevall <mcasadevall@ubuntu.com>
2016-06-28 06:53:23 -05:00
lethosor 27a84a8246 Move scripts to library/scripts
git can't cope with replacing scripts/3rdparty/* submodules with a single
scripts submodule.
2016-06-15 18:45:08 -04:00
lethosor 450fcdba31 Bump version to alpha1 2016-06-14 14:07:01 -04:00
lethosor c1ba435058 Update version and xml 2016-05-27 17:41:23 -04:00
lethosor 8fd25f7320 Set prerelease flag again 2016-05-14 16:07:35 -04:00
lethosor 97f7cd6081 Bump version and update xml 2016-05-12 16:03:33 -04:00
lethosor b53f829737 Update to 0.43.01-alpha0 and update xml 2016-05-10 17:48:50 -04:00
lethosor 24fd47c030 Bump to r1 in CMakeLists.txt 2016-04-23 22:02:39 -04:00
lethosor 3ab963499a Bump to beta1 2016-04-12 21:30:25 -04:00
expwnent 6fd904fd9e Bump version, tweak whitespace. 2016-03-10 09:16:03 -05:00
lethosor b8ca4b5acc Bump version to alpha1 2016-03-04 20:38:25 -05:00
lethosor 5334bd8a6a Bump version to 0.42.06-alpha0 and update xml 2016-02-28 11:18:27 -05:00
lethosor fbe076c5ef Bump version to 0.42.05-alpha1 2016-02-01 10:32:45 -05:00
James Gilles 61d4c9da9c Enable ycmd for project 2016-01-26 20:37:27 -05:00
lethosor c78a1391e1 Update version to 0.42.05 2016-01-18 10:55:21 -05:00
lethosor 63e5b5bc0f Fix ZLIB_ROOT on Windows 2016-01-17 23:04:08 -05:00
lethosor b62a8673bc Bump version to 0.42.04-alpha2 2016-01-09 10:51:55 -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 45ba3c0c68 Try specifying ZLIB_ROOT 2016-01-01 20:01:24 -05:00
lethosor 26f66ce8e2 Bump version to 0.42.04 2015-12-30 11:27:19 -05:00
lethosor a75a8cb496 Update version in CMakeLists.txt 2015-12-22 19:35:40 -05:00
lethosor 83603fcf45 Add prerelease build flag and warning script 2015-12-11 20:27:46 -05:00
lethosor e720c498c9 Bump to 0.42.02 2015-12-05 17:57:52 -05:00
lethosor f9af5a71d6 Bump to 0.42.01-r0 2015-12-01 17:36:44 -05:00
TheBloke d84f5f1e52 Re-enable GCC 5 compilation for OSX and Linux, passing -D_GLIBCXX_USE_CXX11_ABI=0 to disable new C++11 name mangling and remain compatible with DF. 2015-11-29 14:26:11 +00:00
lethosor 33302251c3 Update version to r5 2015-11-27 16:45:39 -05:00
lethosor 036c30fa68 Set BUILD_DOCS to OFF by default
See #738
2015-11-26 17:09:53 -05:00
lethosor 9c62ff1d7f Blacklist GCC 5 on Linux again
GCC 5 mangles some symbols, such as "plugin_globals" ->
"plugin_globals[abi:c++11]" (or "_Z14plugin_globalsB5cxx11"), even
when declared with 'extern "C"'. This breaks plugins, in particular.
2015-11-10 18:51:29 -05:00
lethosor 07839c511a Update CMakeLists.txt
* Require Git
* Only complain about Sphinx if BUILD_DOCS is enabled
* Just issue a warning for GCC >= 5.x on Linux
2015-11-10 17:00:49 -05:00
lethosor 7b483a4461 Update version to r4
Ref #737
2015-11-07 20:28:37 -05:00
lethosor 1e42f97e76 Add GCC version to OS X package names and remove trailing newlines 2015-11-07 20:27:48 -05:00
lethosor 178811af43 Add GCC version to package filename on Linux 2015-11-07 18:07:48 -05:00
lethosor 91d5b74c3b sphinx: Depend on CMakeLists.txt 2015-11-07 18:07:12 -05:00
lethosor e176c3ea05 Merge remote-tracking branch 'PeridexisErrant/docs-again' into develop 2015-11-07 15:50:11 -05:00
PeridexisErrant 5826b49d09 Move index.rst to docs directory
Having the docs index in the repo root was a holdover from when it was
the README file.  Now that it's not much use without being built, it's
better to leave the root to README, NEWS, and LICENSE - especially when
one is a html shortcut to the docs index.
2015-11-06 17:09:56 +11:00
lethosor 29533f1f08 Minor sphinx fixes
* Exclude build directories (rst files are copied into them by CPack)
* Fix CMake dependency path to conf.py
* Build in parallel
2015-11-05 22:57:09 -05:00
lethosor 8a0f54aef3 Only install HTML docs 2015-11-05 19:37:37 -05:00
lethosor 481d00433d Only search scripts directory with GLOB_RECURSE 2015-11-04 19:54:41 -05:00
PeridexisErrant 9b1d277ef5 Finish updating sphinx-build changes
Completes 5643119.
2015-10-31 15:39:00 +11:00
PeridexisErrant 5efea525e0 Split GitHub README from Sphinx index
The root of the documentation tree has a different function to the short
readme we want to display on GitHub, which now links to the main docs
(or Bay12 thread, or IRC).  It also renders properly on GitHub, and can
use live-updating status badges because we don't expect it to work
offline.
2015-10-28 10:06:28 +11:00
PeridexisErrant 413a61423a Tweak docs building
Trying to save the warnings to a file only works if the directory
exists.  Also fix digfort docs error.
2015-10-25 10:14:09 +11:00
PeridexisErrant a3803d340e Build docs in place; copy inputs so users can build
Building the docs now works the same way, no matter when it happens - in
a cloned repo or distributed version.

This means all the relative links keep working; and that users or
downstream distributors can rebuild the docs with extra scripts or .rst
files in place.

Finally, it eliminates a large number of potential bugs which only occur
in one build environment and are difficult to reproduce.

Also add headings and this work to future news.
2015-10-24 22:19:52 +11:00
PeridexisErrant a4708d07a1 Allow Sphinx-doc to work with or without cmake
This mainly involved tweaking a few filenames and configuration paths to
allow consistency in all scenarios.  It cleared up a few errors in the
process too!

I also clarified the placement of the LICENSE file, and finished
configuring the Alabaster style.  This required moving some stuff out of
the CMake system to conf.py to avoid later breakage.
2015-10-23 12:34:54 +11:00
lethosor 8a3e0a47dc Require MSVC 2010 on Windows 2015-10-13 16:25:38 -04:00
lethosor f874fac500 Consolidate licenses of other dependencies 2015-10-03 13:42:03 -04:00
expwnent 466c26f093 BUILD_DOCS should be an option. 2015-09-27 04:53:18 -04:00