Commit Graph

47 Commits

Author SHA1 Message Date
Loïc Blot 86b1542181 Update embedded jsoncpp from unk version to 0.10.6 + move libs to lib/ instead of src/ (#5473)
* Update embedded jsoncpp from unk version to 0.10.6

0.10.6 is last release without c++11

* Make jsoncpp more compliant with its amalgamate

Jsoncpp cpp file should be upper, make the library like it does in amalgamate

* Reorganization: move minetest embedded libs outside of source tree to /lib

* Fix a dead grep in LINT
2017-04-02 10:51:50 +02:00
Rogier-5 4503b5097f Fixes for compiling with a newer (system) jsoncpp (#4429)
* Move included json code to jsoncpp subdirectory

This is needed to avoid having to specify the minetest src directory
as a system include when fixing the json includes.

* Fix json includes

They used "", so that the compiler searches the project's directory
first. The result was that when compiling with a system jsoncpp,
the project's own version of json.h was still included, instead of
the system version.

The includes now use <>, so a system location, or one specified with
'-Ilocation' is searched only.

* Fix for jsoncpp deprecated function warning

When compiling with a newer version of jsoncpp (and
ENABLE_SYSTEM_JSONCPP=true), jsoncpp emits a warning
about a deprecated function that minetest uses.
2016-08-10 12:10:00 +02:00
sfan5 decbd396df Really fix ncurses lookup on Arch Linux
Commit 27ee8d8943 forgot to add the paths
without ncursesw/ to the find_path() call
2016-05-16 12:43:50 +02:00
David Knapp 27ee8d8943 Fix ncurses lookup on Arch Linux
Arch Linux doesn't put it's ncursesw includes inside an ncursesw
directory.  This script ends up setting USE_CURSES as true, but
doesn't pick up any of the headers.

https://bugs.archlinux.org/task/13994
2016-04-08 02:11:45 -04:00
Ferdinand Thiessen 70ece71ee4 Improve LuaJIT detection
On openSUSE luajit is not detected correctly.
This is because openSUSE is using a lua version suffix, like other Linux distributions do it also.
So the include directory is:
include/luajit-5_1-2.0
2015-12-05 23:31:09 +01:00
est31 5e507c9829 Add server side ncurses terminal
This adds a chat console the server owner can use for administration
or to talk with players.
It runs in its own thread, which makes the user interface immune to
the server's lag, behaving just like a client, except timeout.
As it uses the same console code as the f10 console, things like nick
completion or a scroll buffer basically come for free.
The terminal itself is written in a general way so that adding a
client version later on is just about implementing an interface.

Fatal errors are printed after the console exists and the ncurses
terminal buffer gets cleaned up with endwin(), so that the error still
remains visible.

The server owner can chose their username their entered text will
have in chat and where players can send PMs to.
Once the username is secured with a password to prevent anybody to
take over the server, the owner can execute admin tasks over the
console.

This change includes a contribution by @kahrl who has improved ncurses
library detection.
2015-11-06 08:51:14 +01:00
Igor Gnatenko 88a44122ab FindJson: use PATH_SUFFIXES jsoncpp to find incdir
For example, on Fedora systems jsoncpp headers is installed in `/usr/include/jsoncpp`.
2015-09-26 21:43:01 +02:00
est31 181f7baa45 Add LibGMP
Uses system provided libgmp if found, if not it falls back to mini-gmp.
2015-05-11 17:48:33 +02:00
ShadowNinja 1be2d32fd5 Make Git version detection use VERSION_STRING instead of tags
This fixes the problem where 0.4.12-dev versions were erroneously shown as
0.4.11-dev because the tag was added on a separate branch.  It also fixes a
similar issue when builders didn't fetch new tags when updating.

This also removes the number-of-commits-since-tag field, since it's
incompatible with this.  Said field doesn't seem to be useful anyway if you
have the commit hash.
2015-05-05 17:13:05 +02:00
est31 5704fb36d2 Better version detection for shallow clones 2015-05-03 16:47:22 +02:00
ShadowNinja 393722a9e3 Fix typo in OpenGL ES 2 CMake file 2015-03-27 15:10:27 -04:00
ShadowNinja 93fcab952b Clean up and tweak build system
* Combine client and server man pages.
  * Update unit test options and available databases in man page.
  * Add `--worldname` to man page.
  * Fix a bunch of places where `"Minetest"` was used directly instead of `PROJECT_NAME`.
  * Disable server build by default on all operating systems.
  * Make `ENABLE_FREETYPE` not fail if FreeType isn't found.
  * Enable LevelDB, Redis, and FreeType detection by default.
  * Remove the `VERSION_PATCH_ORIG` hack.
  * Add option to search for and use system JSONCPP.
  * Remove broken LuaJIT version detection.
  * Rename `DISABLE_LUAJIT` to `ENABLE_LUAJIT`.
  * Rename `minetest_*` variables in `version.{h,cpp}` to `g_*`.
  * Clean up style of CMake files.
2015-03-27 15:00:48 -04:00
est31 c31c87adb5 Fix cmake po detection bug
Previously, cmake po detection would treat the "timestamp" file created by building for android as own language directory.
2015-03-23 13:43:18 +10:00
Markus Koschany 47d9b4d9aa Improve FindIrrlicht.cmake module
Linux distributions prefer to link against a shared version of the Irrlicht
engine instead of using embedded code copies of the same. Search for this
shared version first and use that but fall back to the static version if it
does not exist.

This also fixes https://github.com/minetest/minetest/issues/2163
2015-02-21 18:21:10 +01:00
ShadowNinja a3db918f78 Remove included SQLite3 2015-01-08 16:34:42 -05:00
Martin Doege c410e9182d OS X compatibility fixes 2014-06-29 17:27:33 +02:00
sapier 533785ec9a Add CURL_DLL search to show up CURL_DLL in cmake gui and don't silently ignore missing CURL_DLL 2013-11-17 02:28:39 -05:00
Kahrl 8bc7ea61b9 Show git hash in version string at top left corner of window 2013-09-28 21:30:17 +02:00
kwolekr d308352dbd Always use builtin JThread library 2013-09-15 23:00:01 -04:00
proller 10c03e1a9d build with ogles2 driver 2013-03-16 22:37:50 -04:00
proller dd8593f2d6 fix link if system json lib exists 2013-03-05 23:54:07 -05:00
proller ee07c3f7cf new auto masterserver 2013-02-22 02:04:53 +04:00
Ilya Zhuravlev c4172934e5 Prefer shared cURL library instead of the static one. 2012-12-21 20:35:04 +04:00
sfan5 05b58501f2 Tweak CMake files for cURL 2012-12-18 21:52:56 +04:00
Ilya Zhuravlev 3578e1d4a7 Added ability to fetch media from remote server (using cURL library) 2012-12-16 15:20:18 +04:00
Perttu Ahola 3a9753b85f Add OGG_INCLUDE_DIR to SOUND_INCLUDE_DIRS 2012-03-25 22:07:34 +03:00
Perttu Ahola c301e3c82a celeron55's sound system initial framework 2012-03-24 04:24:23 +02:00
Perttu Ahola 97b693052c Flatten share/ and user/ in the source and for the RUN_IN_PLACE build 2012-03-20 00:08:00 +02:00
q66 e81ff1e833 Gettext fix for *BSD - require special linkage as glibc is not used 2011-08-11 11:19:05 +02:00
Giuseppe Bilotta cce210f676 Locale dir should be parallel to global data dir 2011-07-24 19:23:03 +02:00
Giuseppe Bilotta 47381bde3b Bring po update out of cmake again
This solves two issues at once:
* CMake would delete po files during ‘make clean’ because it thought
  they were autogenerated and not just managed
* the only gettext tools readily available in Windows are so old they
  don't support options like --package-name

The change also moves minetest.pot down one level, so we don't need to
special case ‘en’ anymore.

The downside is of course that you need some sane POSIX shell to update
the po files.
2011-07-24 16:52:59 +02:00
Constantin Wenger f6d9bcc9bb updated cmakerules to autodetect if gettext can be used
fixed error if gettext is disabled
2011-07-23 22:36:11 +02:00
Giuseppe Bilotta d78e5e7329 updatepo cmake rule
Get rid of the system-specific updatelocales.sh and introduce an
updatepo cmake rule. po files are also updated before creating the mo
files, and we now keep the .pot file (in the po/en directory). To
stabilize the po file creation, file contents are sorted by source
filename.

Update po files in the process.
2011-07-22 12:40:29 +02:00
Giuseppe Bilotta d386f02893 Refactor mo creation/installation 2011-07-22 09:36:17 +02:00
Constantin Wenger fc95d00b2f fixed not finding dll for gettext in MSVC 2011-07-21 16:21:01 +02:00
Giuseppe Bilotta 9fa4b72a47 Find correct library for MSVC vs MingW in Winows 2011-07-21 14:50:15 +02:00
Constantin Wenger 2a6c0fc17f updated some path because the dlls are mostly under bin not lib
added explanation why libintl must not belinked under some oses
2011-07-21 13:24:37 +02:00
Giuseppe Bilotta 1340da7b54 Refactor and clean up gettext management 2011-07-21 12:33:29 +02:00
Giuseppe Bilotta cd45ae3d0f Use system sqlite3/jthread libs if available 2011-07-20 17:59:48 +02:00
Perttu Ahola 9de8e59c20 Added libIrrlicht.dll.a to searched library names for non-MSVC windows 2011-05-17 20:11:12 +03:00
Perttu Ahola e06751aea0 forgot some test code in... 2011-02-16 11:06:52 +02:00
Perttu Ahola dcda479434 Hopefully fixed some of the errors in cmake's finding of irrlicht 2011-02-16 09:43:04 +02:00
Perttu Ahola a0e8f3afd3 might work good on cmake+msvc now 2011-02-15 20:53:29 +02:00
Perttu Ahola 56320f7e8d Hopefully fixed the problem of IRRLICHT_SOURCE_DIR being not considered when a local version of irrlicht is found. 2011-02-01 10:45:55 +02:00
Perttu Ahola 359e575ba3 Mainly small build system fixes 2011-01-09 00:49:32 +02:00
Perttu Ahola 9fbb0889a7 CMake stuff works now on linux and windows... and should be possible to make to work on OS X. 2011-01-08 17:34:25 +02:00
Perttu Ahola d825ed572f CMake working on Linux (not on windows)
--HG--
rename : Makefile => Makefile.bak
2011-01-08 03:10:20 +02:00