Commit Graph

380 Commits (4d7f4d80ad478d2735a815aec5a5edb2dea665d0)

Author SHA1 Message Date
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
expwnent e95aea90e0 Fix CMake warning over INTERFACE_LINK_LIBRARIES / policy CMP0022. 2015-09-27 04:30:46 -04:00
expwnent 1bc9b74530 An attempt to make Sphinx recognize all lua dependencies that still doesn't work. 2015-09-27 02:56:37 -04:00
lethosor 6cc399561b CMake: Only run Sphinx when necessary 2015-09-26 17:52:06 -04:00
lethosor 441afcced5 Fix issues with detecting Sphinx 2015-09-26 13:28:06 -04:00
lethosor 9c6611dfc3 Clean up CMakeLists.txt 2015-09-26 13:16:05 -04:00
lethosor f2696cfd3d Show all missing submodule errors 2015-09-26 10:51:29 -04:00
lethosor 2bcf74d74c Merge branch 'develop' of https://github.com/dfhack/dfhack into develop 2015-09-26 10:46:45 -04:00
lethosor ec17685041 CMake: Add compiler checks and GCC version checks 2015-09-26 10:46:29 -04:00
expwnent 5352d37967 BUILD_DOCS should be a visible CMake option. 2015-09-25 19:43:40 -04:00
expwnent 9b07ebbf97 Install documentation. 2015-09-25 18:53:46 -04:00
expwnent cc752a582e Initial CMake version of Sphinx stuff. 2015-09-24 02:09:23 -04:00
lethosor 418d2831ef Add a framework for including 3rd-party script repos
Repos need to include a CMakeLists.txt file with calls to the
DFHACK_SCRIPTS macro, which functions similarly to DFHACK_PLUGIN.

The `open-legends` script from lethosor/dfhack-scripts is included
as an example.
2015-08-06 21:50:01 -04:00
lethosor d02e67267a Replace jsonxx with jsoncpp 2015-07-29 15:50:33 -04:00
lethosor 524593a3d3 Locate git with find_package 2015-06-25 11:43:54 -04:00
lethosor 5bb5d87ad8 Install default dfhack-config files
Files from the "dfhack-config" source directory are now installed to
"dfhack-config/default" and copied to "dfhack-config" on startup if
they don't already exist. Previously, config files weren't available
at all unless they were manually installed (93c9a41).
2015-06-18 08:59:01 -04:00
lethosor 93c9a41a3a Reimplement dwarfmonitor widgets in Lua (and improve customizability)
Widget positions and a few other options (e.g. date formats) can be
specified in dfhack-config/dwarfmonitor.json on a per-instance basis.

Related changes:
* Fixed an issue loading JSON files from Lua
* JSON files in dfhack-config (only dwarfmonitor.json currently) are
  no longer copied into the DF directory when building DFHack. This
  keeps developers' personal settings intact, but will require
  copying over changes made to DFHack's copies manually.
* Fixed incorrect config path in dwarfmonitor help
2015-06-13 21:15:43 -04:00
lethosor 9b8b95e145 Check for jsonxx submodule in CMakeLists.txt
Addresses #603
2015-05-09 19:44:26 -04:00
lethosor 6eb929b306 Move JSON files out of hack/ folder 2015-05-09 16:04:15 -04:00
Lethosor 6c72a0850d Set MACOSX_RPATH to 1
This allows plugins with vmethod hooks to be reloaded on OS X by making paths
embedded in shared libraries use @rpath instead of embedding the build 
directory, which avoids the need to change them them later. Modifying paths in
libdfhack.dylib caused it to be reloaded, which prevented hooks from working.
2015-04-18 11:40:20 -04:00
lethosor 3ca00f85d0 Merge remote-tracking branch 'lethosor/json' into develop 2015-04-08 20:18:13 -04:00
expwnent f9b431b54d Version bump and update NEWS. 2015-03-30 12:38:56 -04:00
lethosor f3508f82c1 Add jsonxx to depends/ 2015-03-20 15:45:38 -04:00
lethosor 0f77a1a578 Move DFHack version to a separate (static) library
This allows the DFHack version to be changed without recompiling
everything
2015-02-19 12:08:23 -05:00
expwnent e006eb21e8 Bump version and update NEWS. 2015-01-31 23:22:42 -05:00
expwnent 08110312ff No more caching DFHACK_RELEASE in CMake stuff. 2015-01-25 14:21:00 -05:00
lethosor 4d194da530 Merge remote-tracking branch 'origin/develop' into 0.40.24-dev 2015-01-17 08:53:49 -05:00
lethosor 43d7f59e0b Bump version to 0.40.24-r0 and update xml 2015-01-14 15:09:23 -05:00
lethosor 4999086846 Use "OSX" in package names on OS X instead of "Darwin" 2015-01-07 16:03:24 -05:00
lethosor dd9cb70ad3 Update CMakeLists to 0.40.23-r1 2015-01-05 15:56:22 -05:00
expwnent 10fa55570e Update release version. 2014-12-05 00:10:59 -05:00
Alexander Gavrilov 760acf017b Update version to v0.40.19 2014-12-02 13:51:44 +03:00
expwnent 56fb63ae6d Update version to 0.40.16-r1. 2014-11-20 00:04:12 -05:00
expwnent 0f5efb47ae Update to 0.40.15. 2014-11-09 01:30:43 -05:00
expwnent d35e422511 Update NEWS and CMakeLists for release. 2014-11-05 21:30:31 -05:00
Alexander Gavrilov 04ec2c9932 Update version to v0.40.14 and hack things so they compile.
Also make the find-offsets script less likely to crash if the
unit structure is misaligned and add more integrity checks.
2014-10-26 16:40:39 +03:00
Alexander Gavrilov e6901a87d3 Update to 0.40.13 structures and fix compilation. 2014-09-19 00:05:15 +04:00
expwnent 1983a05fb5 Merge remote-tracking branch 'lethosor/update-news' 2014-09-16 18:04:42 -04:00
expwnent d223655dc7 Bump version to 0.40.12-r1. 2014-09-16 16:53:19 -04:00
lethosor 20df0511a1 Update NEWS
Add unlisted changes in 0.40.11-r1

Also include NEWS in installation directory
2014-09-09 22:51:44 -04:00
expwnent 36a6e26e2f Merge pull request #319 from eswald/releasing
Linux Release Improvements: package format.
2014-09-08 13:13:45 -04:00
Quietust cf06dc3503 Update to 0.40.11, fix a few devel plugins to build again 2014-09-04 08:26:45 -05:00
Eric Wald 6a2d65c6d7 Switching to bzip2 for Linux packages.
The resulting packages tend to be about 10% smaller than gzip.
2014-08-29 18:55:17 -06:00
Quietust 1de9405ef3 Update some stuff to 0.40.10 2014-08-28 14:07:03 -05:00
Quietust 4da333fca1 Fix Buildings module to work with ui.tax_collection.rooms change 2014-08-18 16:33:12 -05:00
expwnent b6be4fa236 Update to r2. 2014-08-15 09:25:45 -04:00
expwnent 9887d4a2e8 Bump version. 2014-08-15 02:30:04 -04:00
Alexander Gavrilov b0e1b51d2a Change version to v0.40.08 2014-08-11 23:49:24 +04:00
Alexander Gavrilov 002bd5240b Bump version to v0.40.07 and update find-offsets to new pressure plate UI. 2014-08-11 14:14:42 +04:00
Alexander Gavrilov 1c409975de Update the version to v0.40.05 2014-07-28 08:15:03 +04:00
Quietust 97de21357c First pass for 0.40 compatibility; still lots left to do, but this will at least build 2014-07-21 13:18:29 -05:00
expwnent f68279f87d Bump version to r5, update documents, include more documentation. 2014-06-20 02:48:12 -04:00
expwnent c7e34c1e5a Update CMakeLists to r4. 2013-10-19 20:40:31 -04:00
Alexander Gavrilov 599af0a4d9 Fix linux and windows build issues.
- Linux makefile overrides and removes the optimization flags.
- Old linux gcc doesn't understand lambdas.
- MSVC doesn't like extern and explicit instantiation in same file.
2013-09-30 22:51:29 +04:00
Anuradha Dissanayake b961cb6a09 Merge branch 'master' of https://github.com/peterix/dfhack 2013-03-16 12:51:31 +13:00
Petr Mrázek e7c102646c Change cmakelists to r3 2013-03-14 06:59:31 +01:00
Anuradha Dissanayake 62ee18ad06 Disable optimization in MSVC RelWithDebugInfo to make debugging easier. 2013-01-19 12:21:57 +13:00
Anuradha Dissanayake 35f4984b5f Enable multi-processor compilation on MSVC 2013-01-19 11:05:41 +13:00
Quietust 7c1fb39ec0 No need for these to be separate variables 2013-01-09 10:19:43 -06:00
Alexander Gavrilov fb8532ad84 Add some screenshots to the readme document.
Using the standard 800x600 tileset as the common
denominator (and it results in smaller images too).
2012-11-20 13:07:27 +04:00
Quietust e2b9b703a0 Get rid of tabs 2012-11-16 15:33:36 -06:00
Quietust 2d83b4fa39 We don't need docutils 2012-10-24 14:07:46 -05:00
Petr Mrázek bb39b2e45b Lua API, not LUA Api. 2012-09-30 06:55:52 +02:00
Petr Mrázek e2d810ddc2 Put HTML back. 2012-09-30 06:44:00 +02:00
Petr Mrázek dd9be6cc7c The usual derp with files not added: Contributors.rst 2012-09-30 04:16:54 +02:00
Petr Mrázek 8812238bf6 Update license, add contributors file, bump release number 2012-09-30 04:03:37 +02:00
Petr Mrázek 38f2ae399a Generate html documentation as part of the normal build. 2012-09-29 03:30:38 +02:00
Petr Mrázek 09ddccea6c Purge html files, add docutils cmake module 2012-09-29 03:06:39 +02:00
Alexander Gavrilov 236ffd578b Add experimental support for interposing vmethods of known classes.
The hairiest bit is the abuse of compiler-specific pointer-to-member
internals in order to provide more or less transparent API.
2012-08-17 22:40:53 +04:00
Timothy Collett f2a30c1a92 Remove build-time dependency on SDL 2012-06-14 13:42:40 -04:00
Petr Mrázek eaac32c765 Version bump and text updates. 2012-06-14 00:29:01 +02:00
Timothy Collett 6d65683b02 Adjust packaging for Mac 2012-05-29 16:12:35 -04:00
Timothy Collett 7e88631698 Trying a different method now (with install_name_tool) 2012-05-24 15:02:53 -04:00