diff --git a/CMakeLists.txt b/CMakeLists.txt index 8756dddf5e3d..bfc75003b9a4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -277,6 +277,8 @@ endif() find_package(GMP REQUIRED) find_package(Json REQUIRED) find_package(Lua REQUIRED) +find_package(Zmq REQUIRED) +find_package(Zmqpp REQUIRED) if(NOT USE_LUAJIT) set(LUA_BIT_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/lib/bitop) set(LUA_BIT_LIBRARY bitop) diff --git a/README.md b/README.md index f342da358b63..5830975b3ebc 100644 --- a/README.md +++ b/README.md @@ -158,7 +158,7 @@ Compiling For Debian/Ubuntu users: - sudo apt install g++ make libc6-dev cmake libpng-dev libjpeg-dev libxi-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev libzmqpp-dev + sudo apt install g++ make libc6-dev cmake libpng-dev libjpeg-dev libxi-dev libgl1-mesa-dev libsqlite3-dev libogg-dev libvorbis-dev libopenal-dev libcurl4-gnutls-dev libfreetype6-dev zlib1g-dev libgmp-dev libjsoncpp-dev libzstd-dev libluajit-5.1-dev libzmq3-dev libzmqpp-dev For Fedora users(Unsupported): diff --git a/cmake/Modules/FindZmq.cmake b/cmake/Modules/FindZmq.cmake new file mode 100644 index 000000000000..002012ec32e0 --- /dev/null +++ b/cmake/Modules/FindZmq.cmake @@ -0,0 +1,10 @@ +mark_as_advanced(ZMQ_LIBRARY ZMQ_INCLUDE_DIR) + +find_path(ZMQ_INCLUDE_DIR NAMES zmq.h) +message(${ZMQPP_INCLUDE_DIR}) + +find_library(ZMQ_LIBRARY NAMES zmq) +message(${ZMQPP_LIBRARY}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Zmq DEFAULT_MSG ZMQ_LIBRARY ZMQ_INCLUDE_DIR) diff --git a/cmake/Modules/FindZmqpp.cmake b/cmake/Modules/FindZmqpp.cmake new file mode 100644 index 000000000000..5b431db03bb3 --- /dev/null +++ b/cmake/Modules/FindZmqpp.cmake @@ -0,0 +1,10 @@ +mark_as_advanced(ZMQPP_LIBRARY ZMQPP_INCLUDE_DIR) + +find_path(ZMQPP_INCLUDE_DIR NAMES zmqpp.hpp PATH_SUFFIXES zmqpp) +message(${ZMQPP_INCLUDE_DIR}) + +find_library(ZMQPP_LIBRARY NAMES zmqpp) +message(${ZMQPP_LIBRARY}) + +include(FindPackageHandleStandardArgs) +find_package_handle_standard_args(Zmqpp DEFAULT_MSG ZMQPP_LIBRARY ZMQPP_INCLUDE_DIR) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 54dad55c63aa..799ab5f0ab13 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -387,6 +387,7 @@ set(common_SRCS raycast.cpp reflowscan.cpp remoteplayer.cpp + rlinterface.cpp rollback.cpp rollback_interface.cpp serialization.cpp @@ -484,6 +485,8 @@ include_directories( include_directories(SYSTEM ${ZLIB_INCLUDE_DIR} ${ZSTD_INCLUDE_DIR} + ${ZMQ_INCLUDE_DIR} + ${ZMQPP_INCLUDE_DIR} ${SQLITE3_INCLUDE_DIR} ${LUA_INCLUDE_DIR} ${GMP_INCLUDE_DIR} @@ -522,6 +525,8 @@ if(BUILD_CLIENT) ${ZLIB_LIBRARIES} IrrlichtMt::IrrlichtMt ${ZSTD_LIBRARY} + ${ZMQ_LIBRARY} + ${ZMQPP_LIBRARY} ${X11_LIBRARIES} ${SOUND_LIBRARIES} ${SQLITE3_LIBRARY} diff --git a/src/rlinterface.cpp b/src/rlinterface.cpp new file mode 100644 index 000000000000..eac4c2fd8a24 --- /dev/null +++ b/src/rlinterface.cpp @@ -0,0 +1,6 @@ +/* TODO: Understand LGPL copywrite */ + + +#include + +zmqpp::context context; diff --git a/src/rlinterface.h b/src/rlinterface.h new file mode 100644 index 000000000000..3549c29bea56 --- /dev/null +++ b/src/rlinterface.h @@ -0,0 +1,3 @@ +/*TODO: Figure out appropriate lisensing headers for the fork */ + +#pragma once