mirror of
https://github.com/Nheko-Reborn/nheko.git
synced 2024-11-25 20:48:52 +03:00
Nlohmann build updates
This commit is contained in:
parent
ec83d9e6bd
commit
75fb95855d
7 changed files with 51 additions and 9 deletions
|
@ -251,6 +251,8 @@ set(SRC_FILES
|
||||||
# ExternalProject dependencies
|
# ExternalProject dependencies
|
||||||
set(EXTERNAL_PROJECT_DEPS "")
|
set(EXTERNAL_PROJECT_DEPS "")
|
||||||
|
|
||||||
|
include(FeatureSummary)
|
||||||
|
|
||||||
set(Boost_USE_STATIC_LIBS OFF)
|
set(Boost_USE_STATIC_LIBS OFF)
|
||||||
set(Boost_USE_STATIC_RUNTIME OFF)
|
set(Boost_USE_STATIC_RUNTIME OFF)
|
||||||
set(Boost_USE_MULTITHREADED ON)
|
set(Boost_USE_MULTITHREADED ON)
|
||||||
|
@ -269,6 +271,12 @@ find_package(MatrixClient 0.1.0 REQUIRED)
|
||||||
find_package(Olm 2 REQUIRED)
|
find_package(Olm 2 REQUIRED)
|
||||||
find_package(spdlog 1.0.0 CONFIG REQUIRED)
|
find_package(spdlog 1.0.0 CONFIG REQUIRED)
|
||||||
find_package(cmark REQUIRED)
|
find_package(cmark REQUIRED)
|
||||||
|
find_package(nlohmann_json 3.2.0)
|
||||||
|
set_package_properties(nlohmann_json PROPERTIES
|
||||||
|
DESCRIPTION "JSON for Modern C++, a C++11 header-only JSON class"
|
||||||
|
URL "https://nlohmann.github.io/json/"
|
||||||
|
TYPE REQUIRED
|
||||||
|
)
|
||||||
|
|
||||||
if(NOT LMDBXX_INCLUDE_DIR)
|
if(NOT LMDBXX_INCLUDE_DIR)
|
||||||
find_path(LMDBXX_INCLUDE_DIR
|
find_path(LMDBXX_INCLUDE_DIR
|
||||||
|
@ -296,6 +304,8 @@ include_directories(${Boost_INCLUDE_DIRS})
|
||||||
# local inclue directory
|
# local inclue directory
|
||||||
include_directories(includes)
|
include_directories(includes)
|
||||||
|
|
||||||
|
feature_summary(WHAT ALL INCLUDE_QUIET_PACKAGES FATAL_ON_MISSING_REQUIRED_PACKAGES)
|
||||||
|
|
||||||
qt5_wrap_cpp(MOC_HEADERS
|
qt5_wrap_cpp(MOC_HEADERS
|
||||||
# Dialogs
|
# Dialogs
|
||||||
src/dialogs/CreateRoom.h
|
src/dialogs/CreateRoom.h
|
||||||
|
@ -387,7 +397,8 @@ set(COMMON_LIBS
|
||||||
Qt5::Widgets
|
Qt5::Widgets
|
||||||
Qt5::Svg
|
Qt5::Svg
|
||||||
Qt5::Concurrent
|
Qt5::Concurrent
|
||||||
Qt5::Multimedia)
|
Qt5::Multimedia
|
||||||
|
nlohmann_json::nlohmann_json)
|
||||||
|
|
||||||
if(APPVEYOR_BUILD)
|
if(APPVEYOR_BUILD)
|
||||||
set(NHEKO_LIBS ${COMMON_LIBS} lmdb)
|
set(NHEKO_LIBS ${COMMON_LIBS} lmdb)
|
||||||
|
|
|
@ -21,6 +21,7 @@ install:
|
||||||
- set PATH=%PATH%;C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin
|
- set PATH=%PATH%;C:\mingw-w64\x86_64-7.2.0-posix-seh-rt_v5-rev1\mingw64\bin
|
||||||
- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
- call "C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Auxiliary\Build\vcvars64.bat"
|
||||||
- vcpkg install
|
- vcpkg install
|
||||||
|
nlohmann-json:%PLATFORM%-windows
|
||||||
boost-asio:%PLATFORM%-windows
|
boost-asio:%PLATFORM%-windows
|
||||||
boost-beast:%PLATFORM%-windows
|
boost-beast:%PLATFORM%-windows
|
||||||
boost-iostreams:%PLATFORM%-windows
|
boost-iostreams:%PLATFORM%-windows
|
||||||
|
|
11
deps/CMakeLists.txt
vendored
11
deps/CMakeLists.txt
vendored
|
@ -29,6 +29,7 @@ option(USE_BUNDLED_TWEENY "Use the bundled version of Tweeny." ${USE_BUNDLED})
|
||||||
option(USE_BUNDLED_LMDBXX "Use the bundled version of lmdbxx." ${USE_BUNDLED})
|
option(USE_BUNDLED_LMDBXX "Use the bundled version of lmdbxx." ${USE_BUNDLED})
|
||||||
option(USE_BUNDLED_MATRIX_CLIENT "Use the bundled version of mtxclient."
|
option(USE_BUNDLED_MATRIX_CLIENT "Use the bundled version of mtxclient."
|
||||||
${USE_BUNDLED})
|
${USE_BUNDLED})
|
||||||
|
option(USE_BUNDLED_JSON "Use the bundled version of nlohmann json." ${USE_BUNDLED})
|
||||||
|
|
||||||
if(USE_BUNDLED_BOOST)
|
if(USE_BUNDLED_BOOST)
|
||||||
# bundled boost is 1.68, which requires CMake 3.12 or greater.
|
# bundled boost is 1.68, which requires CMake 3.12 or greater.
|
||||||
|
@ -44,11 +45,10 @@ set(BOOST_SHA256
|
||||||
|
|
||||||
set(
|
set(
|
||||||
MTXCLIENT_URL
|
MTXCLIENT_URL
|
||||||
https://github.com/Nheko-Reborn/mtxclient/archive/8659d011f93cad63de34a79f9b0543705d5da825.tar.gz
|
https://github.com/Nheko-Reborn/mtxclient/archive/67d39691666bcdf3cc660db19ccc0d9941df13fd.tar.gz
|
||||||
)
|
)
|
||||||
set(MTXCLIENT_HASH
|
set(MTXCLIENT_HASH
|
||||||
7857a16cd2dd9c42ab51a8c188f4c60ca318eabbd6f7fd5db6815e60ef1cd3ad)
|
4aeb69a3261aec96bd1fbce2fedc10e3771d87a5a82657bab8bc6006b7f1ad10)
|
||||||
|
|
||||||
set(
|
set(
|
||||||
TWEENY_URL
|
TWEENY_URL
|
||||||
https://github.com/mobius3/tweeny/archive/b94ce07cfb02a0eb8ac8aaf66137dabdaea857cf.tar.gz
|
https://github.com/mobius3/tweeny/archive/b94ce07cfb02a0eb8ac8aaf66137dabdaea857cf.tar.gz
|
||||||
|
@ -78,8 +78,9 @@ set(JSON_HEADER_URL
|
||||||
set(JSON_HEADER_HASH
|
set(JSON_HEADER_HASH
|
||||||
ce6b5610a051ec6795fa11c33854abebb086f0fd67c311f5921c3c07f9531b44)
|
ce6b5610a051ec6795fa11c33854abebb086f0fd67c311f5921c3c07f9531b44)
|
||||||
|
|
||||||
file(DOWNLOAD ${JSON_HEADER_URL} ${DEPS_INSTALL_DIR}/include/json.hpp
|
if(USE_BUNDLED_JSON)
|
||||||
EXPECTED_HASH SHA256=${JSON_HEADER_HASH})
|
include(Json)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(USE_BUNDLED_BOOST)
|
if(USE_BUNDLED_BOOST)
|
||||||
include(Boost)
|
include(Boost)
|
||||||
|
|
29
deps/cmake/Json.cmake
vendored
Normal file
29
deps/cmake/Json.cmake
vendored
Normal file
|
@ -0,0 +1,29 @@
|
||||||
|
ExternalProject_Add(
|
||||||
|
Json
|
||||||
|
PREFIX ${CMAKE_CURRENT_SOURCE_DIR}/Json
|
||||||
|
GIT_REPOSITORY https://github.com/nlohmann/json.git
|
||||||
|
# For shallow git clone (without downloading whole history)
|
||||||
|
# GIT_SHALLOW 1
|
||||||
|
# For point at certain tag
|
||||||
|
GIT_TAG v3.2.0
|
||||||
|
#disables auto update on every build
|
||||||
|
UPDATE_DISCONNECTED 1
|
||||||
|
#disable following
|
||||||
|
CONFIGURE_COMMAND "" BUILD_COMMAND "" INSTALL_DIR "" INSTALL_COMMAND ""
|
||||||
|
)
|
||||||
|
# Update json target
|
||||||
|
add_custom_target(external-Json-update
|
||||||
|
COMMENT "Updated Nlohmann/Json"
|
||||||
|
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/Json/src/Json
|
||||||
|
COMMAND ${GIT_EXECUTABLE} pull
|
||||||
|
DEPENDS Json)
|
||||||
|
|
||||||
|
#ExternalProject_Add(
|
||||||
|
# json
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# DOWNLOAD_COMMAND file(DOWNLOAD ${JSON_HEADER_URL} ${DEPS_INSTALL_DIR}/include/json.hpp
|
||||||
|
# EXPECTED_HASH SHA256=${JSON_HEADER_HASH})
|
||||||
|
#)
|
||||||
|
|
||||||
|
list(APPEND THIRD_PARTY_DEPS Json)
|
|
@ -24,7 +24,7 @@
|
||||||
#include <QImage>
|
#include <QImage>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#include <json.hpp>
|
#include <nlohmann/json.hpp>
|
||||||
#include <lmdb++.h>
|
#include <lmdb++.h>
|
||||||
#include <mtx/events/join_rules.hpp>
|
#include <mtx/events/join_rules.hpp>
|
||||||
#include <mtx/responses.hpp>
|
#include <mtx/responses.hpp>
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
#include <QObject>
|
#include <QObject>
|
||||||
#include <QString>
|
#include <QString>
|
||||||
|
|
||||||
#include "json.hpp"
|
#include "nlohmann/json.hpp"
|
||||||
#include <mtx/responses.hpp>
|
#include <mtx/responses.hpp>
|
||||||
#include <mtxclient/http/client.hpp>
|
#include <mtxclient/http/client.hpp>
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
#include "json.hpp"
|
#include "nlohmann/json.hpp"
|
||||||
|
|
||||||
#include "Logging.h"
|
#include "Logging.h"
|
||||||
#include "MainWindow.h"
|
#include "MainWindow.h"
|
||||||
|
|
Loading…
Reference in a new issue