The code is implimented in this commit and is launchable with the BUILD_CLIENT compile option.
Everything should be launchable by running the one function within
src/nyqubel-client/client.hpp: start_nyqubel_client()
I am removing lua specifically because I am not intending on supporting
it on any way. I will manage everything manually in c++, the base is
already there since the entire codebase is built for lua, it can be used
the same way in c++.
This does alienate the type of people that can contribute, this is
intended more as a personal project to attempt matching vanilla
minecraft. Im not intending on running some kind of massive server so
this does just fine.
Lua wasnt even that intertwined with cuberite, but I still want to rid
it for ease of development. Sorry for any hurt feelings.
* LINUX doesn't exist apparently, use UNIX instead
+ Add some platform-specific logic to determine whether to use mcpu or march
- Remove duplicated compile option comments
+ Add STATUS level to messages
Construct paths relative to the Cuberite sources with PROJECT_SOURCE_DIR, instead of wherever the first CMakeLists.txt file happened to be with CMAKE_SOURCE_DIR.
In Android's case, the latter was in a folder called android/ but that's not the root of the source tree, so any file path built off that root was wrong. This caused file-specific warnings exclusions to fail to apply.
Closes#4708
This updates jsoncpp, mbedtls, TCLAP and SQLiteCpp to their latest stable release. A few additional changes were needed:
* jsoncpp deprecated Reader, FastWriter and StyledWriter which I've replaced
with some helper functions in JsonUtils.cpp
* SQLiteCpp changed how it builds with external sqlite libraries, now expecting
them to be installed. The simplest path was to remove sqlite from cuberite's
submodule and just use SQLiteCpp's internal version.
This finally restores my ability to compile on Windows and Linux from the same source folder (on a network drive).
LibEvent broke this long ago by writing a config file into the source folder, rather than build folder. Now it's finally fixed.
* Replaces AppendVPrintf with fmt::sprintf
* fmt::ArgList now used as a type safe alternative to varargs.
* Removed SIZE_T_FMT compatibility macros. fmt::sprintf is fully portable and supports %zu.
* Adds FLOG functions to log with fmt's native formatting style.
* Renaming changes:
* macro prefix "POLARSSL" -> "MBEDTLS"
* functions now prefixed with "mbedtls_"
* rename PolarSSL++ -> mbedTLS++
* rename polarssl submodule
* Use mbedtls' AES-CFB8 implementation.
* Add cSslConfig to wrap mbedtls_ssl_config
* Update cTCPLink and cBlockingSslClientSocket to use cSslConfig
* Use cSslConfig in cHTTPServer
* Use cSslConfig for cMojangAPI::SecureRequest
* CI Fixes
* Set -fomit-frame-pointer on the right target
* Change CROSSCOMPILE flag to NOMARCHNATIVE.
The old name was confusing, the new name describes exactly what it does.
This fixes issue #3272
* Break configuration when using CROSSCOMPILE.
This stops any old build scripts from producing broken builds.
* Use NO_NATIVE_OPTIMIZATION rather than NOMARCHNATIVE.
Addresses @madmaxoft's concerns.