Commit Graph

524 Commits (80f9fea5227c111f3ddb217238d1ee3c7280f31b)

Author SHA1 Message Date
Josh Cooper 25f87306b4 Removes separated unit test executables 2022-11-25 09:43:04 -08:00
Josh Cooper 79551f7ef0 Updates CMake TESTING vars 2022-11-25 09:43:04 -08:00
Josh Cooper 268719ed1f Integrates googletest 2022-11-25 09:43:04 -08:00
Tim Siegel 8e18d610f5 cmake: Add SDL dep for Linux dfhack; deprecate BUILD_TESTS
On Linux, libdfhack.so depends on libSDL.so, but that was not marked
inside CMake. As it's only used via LD_PRELOAD, there was no problem.
But when linking unit tests against it, this becomes necessary. It may
be wise to add a find_package(SDL) to provide the user with more
control, but just a hard-coded "SDL" should work for most installs.

The CTest module creates a BUILD_TESTING option, which clashes
(thematically, not in code) with the existing BUILD_TESTS option.
Resolve it thus:
- Deprecate BUILD_TESTS; it still works, but is marked as an advanced
  option so it doesn't show in the CMake UI by default.
- Add a new BUILD_TEST_SCRIPTS that does what BUILD_TESTS used to do,
  but is a "dependent" option so it goes away if BUILD_TESTING=OFF.

The up-shot is that, by default, the C++ unit tests will be built
(BUILD_TESTING=ON) and the Lua integration tests are not installed
(BUILD_TEST_SCRIPTS=OFF).
2022-11-25 09:43:04 -08:00
Tim Siegel c5be87e381 unit tests: Add CTest support, and a trivial first unit test
If BUILD_TESTS=ON:
- Adds a 'test' target for ninja
- Adds a library/MiscUtils.test unit test executable
2022-11-25 09:43:04 -08:00
Kelly Kinkade b6ffaebeda refine comments 2022-11-18 15:29:02 -06:00
Kelly Kinkade a16aca0f03 up MSVC warning level to /W3 /WX
This makes MSVC warn at a level comparable to what we use on gcc for Linux builds
2022-11-18 15:09:50 -06:00
myk002 3f6e92eda4
finalize 0.47.05-r7 release 2022-09-30 11:58:22 -07:00
myk002 a080872a0a
include other doc build types in ninja clean 2022-08-26 13:37:58 -07:00
lethosor 340b524348
Invoke build.py with cmake-found python
In the Buildmaster GCC 4.8 image, `/usr/bin/env python3` appears to find the
system Python (3.4) as opposed to the newer Python (3.6) we install separately.
2022-08-15 17:49:44 -04:00
myk002 488fd67742
output version of found sphinx and python 2022-08-14 23:01:20 -07:00
myk002 f1f207b45b
don't include rst sources in html output 2022-08-13 21:51:36 -07:00
pre-commit-ci[bot] 8f332c5925 [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-08-08 06:39:12 +00:00
myk002 7274a8cd2a
use docs/build.py to do the docs build
and add sphinx extension python files to the build deps
2022-08-07 23:35:00 -07:00
pre-commit-ci[bot] 02a8f63ffc [pre-commit.ci] auto fixes from pre-commit.com hooks
for more information, see https://pre-commit.ci
2022-08-06 05:38:20 +00:00
myk002 d04beb0e4a
remove -E for sphinx-build. ninja clean can do it. 2022-08-05 22:21:14 -07:00
myk002 3e30b435fd
clean up docs build deps 2022-08-05 22:20:58 -07:00
myk002 b3a2a10caa
clean up generate doc dirs with ninja clean 2022-08-05 22:05:52 -07:00
myk002 8173f6dd02
Merge remote-tracking branch 'upstream/develop' into docs 2022-07-18 10:59:00 -07:00
myk002 fdd406b722
ensure all files are reread on every docs build
this fixes the issue where the Stonesense docs were getting ignored
2022-07-10 20:19:12 -07:00
myk002 8d99b7e6e1
prepare for plugin doc split 2022-07-10 20:19:09 -07:00
Myk f1cb9b9a83
Build and install text help alongside html (#2236)
* build text docs alongside html

also:
- capture more doc dependencies that should cause rebuilds
- move intermediate build output (doctree data) into build dir
- allow sphinx build to multitask more for faster completion times

* install text help alongside html help

* update settings in docs build action
2022-07-10 20:14:20 -07:00
lethosor 739871bc0f
Remove Hooks-egg.cpp and related code and configuration options 2022-06-29 23:35:14 -04:00
myk002 88ae50b9ae
update version and changelog to 0.47.05-r6 2022-06-17 15:42:23 -07:00
myk002 585888c2d3
update version, changelog, modules for 0.47.05-r5 2022-05-04 17:21:31 -07:00
Josh Cooper 69ca0d8a28
Improves support for dfhack as a sub-project (#2058)
Replaces CMAKE_SOURCE_DIR with dfhack_SOURCE_DIR so it can be included in other cmake projects that have a different top-level CMAKE_SOURCE_DIR
2022-03-29 10:28:52 -07:00
myk002 cf54b84fd6 Bump to 0.47.05-r4 2022-03-09 14:27:20 -08:00
lethosor e7754ea890
Enable -Wunused-variable and fix most errors 2021-09-07 01:16:21 -04:00
lethosor 8d551c7a7c
GCC: enable -Wall and -Werror for all build types
Also make protobuf flags consistent across build types so that release builds
pass
2021-09-06 22:56:55 -04:00
lethosor 1295633722
Bump to 0.47.05-r3 2021-09-04 14:00:31 -04:00
lethosor dde589967a
Bump to 0.47.05-r2, update changelog 2021-07-09 21:21:36 -04:00
myk002 5f00183177
move test harness out of test dir
and install to test.lua in top-level scripts directory instead of test/main.lua
2021-03-22 10:15:32 -07:00
lethosor 89e11b56f2
Merge remote-tracking branch 'myk002/myk_no_test_scripts' into develop 2021-03-14 14:42:51 -04:00
lethosor 795bd27d92
Add checks for scripts and luacov submodules 2021-03-10 00:21:46 -05:00
myk002 f7ce441a3f
ensure test/scripts does not exist in dfhack repo 2021-03-07 08:21:14 -08:00
lethosor 032cd64c10
Bump to r1, update submodules and changelog 2021-03-06 13:30:16 -05:00
lethosor 2bb4dbccc6
Replace installed hack/changelog.txt with stub
This was incomplete, but people were still referencing it.

Closes #1775
2021-03-06 12:43:31 -05:00
Ben Lubar 95e2582219
add include directory for lodepng 2021-02-24 18:23:15 -06:00
lethosor 49b6e814db
Bump to beta1, update submodules 2021-02-10 21:08:45 -05:00
lethosor 233925ec75
Bump to 0.47.05-alpha0, update xml 2021-01-31 12:10:00 -05:00
lethosor d2f3ec6076
Bump to 0.47.04-r5, adjust changelog 2021-01-30 21:23:44 -05:00
lethosor eb6957a167
Bump to 0.47.04-r4 and update submodules 2020-12-24 13:32:44 -05:00
lethosor b343d00800
Update to 0.47.04-r3 (authors, changelog, and submodules) 2020-10-10 17:31:30 -04:00
Myk Taylor 3e2dd2a396 quickfort docs: dreamfort case study 2020-10-07 14:01:22 -07:00
lethosor 64b1202119
Fix some CMake warnings and extraneous output 2020-09-19 01:17:25 -04:00
lethosor b85759620f
Switch libzip and xlsxio to be included with add_subdirectory(), disable xlsxio installation 2020-09-18 00:33:41 -04:00
Myk Taylor 1e068ef247 output useful error if new deps are not found 2020-08-15 22:34:43 -07:00
Myk Taylor a41f7c0998 convert XlsxReader module to xlsxreader plugin 2020-08-09 08:54:42 -07:00
Myk Taylor 8913d43d6f ensure xlsxio_project gets built before dfhack 2020-08-09 02:59:22 -07:00
Myk Taylor 79415cf097 clean up dep lib vars 2020-08-09 02:24:05 -07:00
Myk Taylor 8753f9feaf use correct lib dir on 32-bit 2020-08-08 20:42:03 -07:00
Myk Taylor 8a05f09cd6 add libexpat to the build 2020-08-08 20:18:43 -07:00
Myk Taylor 28eaf0ae8b add libzip to the build 2020-08-08 20:04:46 -07:00
Myk Taylor 18f4786458 Merge remote-tracking branch 'upstream/develop' into quickfort_xlsxio 2020-08-08 17:17:45 -07:00
Myk Taylor 89a6309788 build xlsxio and link it into dfhack, add lua api 2020-08-08 15:24:12 -07:00
lethosor f2b0f012c9
Bump to 0.47.04-r2 2020-08-08 14:53:24 -04:00
Myk Taylor 88dffd6474 quickfort files and docs 2020-07-18 08:54:24 -07:00
Ben Lubar 1058e40cb0
Enable /bigobj globally on MSVC.
This changes the intermediate format used for compiled files from one
that can hold up to 65279 (slightly less than 2^16) addressable sections
to one that can hold 4294967296 (2^32).

Code that uses templates, such as... C++ code... can easily run up
against the smaller limit. This does not affect the finished executable,
only the intermediate object files.
2020-05-09 18:23:18 -05:00
lethosor 6bdbf5b0dd Update to 0.47.04-r1, update xml, scripts, changelog version 2020-04-25 21:33:02 -04:00
lethosor d3a007489c Fix ZLIB_ROOT in newer CMake versions 2020-04-19 12:16:48 -04:00
lethosor c8a0ac146c Update submodules, changelog, CMakeLists, Authors 2020-04-04 01:36:52 -04:00
lethosor 91fad90167 Make test base folder customizable, clean up, stop always installing test folder 2020-04-01 00:26:51 -04:00
lethosor 666b35f1f6 Add "bit" suffix to package architecture (hopefully reduces confusion) 2020-03-21 02:42:12 -04:00
lethosor 7d6594bfe8 Add BUILD_TESTS CMake option 2020-03-21 02:39:00 -04:00
Ben Lubar fe2ea17880
change DF version
add -maxerrors and -failfast to check-structures-sanity
2020-03-01 12:15:26 -06:00
lethosor fb6dd691d7 Update changelog + CMakeLists for 0.47.03-beta1 2020-02-27 19:56:37 -05:00
Ben Lubar b033a215bd
update for Dwarf Fortress 0.47.03 2020-02-16 18:48:27 -06:00
lethosor f54c361718 Add an implementation of mifki's sizecheck library (tested on Linux) 2020-02-08 21:18:29 -05:00
Ben Lubar b375586b67
Update to DF 0.47.02 2020-02-07 16:00:53 -06:00
Ben Lubar 62e3802d26
Update to DF 0.47.01 2020-01-29 14:51:48 -06:00
lethosor 163971ec56 Bump version to 0.44.12-r3 2020-01-19 00:05:43 -05:00
lethosor 8a07426643 Merge branch 'develop' into cmake-cleanup 2019-07-20 15:15:39 -04:00
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