diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index 6e4052115..62fd2073b 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -2,4 +2,4 @@ add_subdirectory(cppdap) #add_subdirectory(unioncode-GitQlient) add_subdirectory(unioncode-qscintilla214) add_subdirectory(unioncode-qtermwidget-0.14.1) -add_subdirectory(unioncode-jsonrpccpp) +#add_subdirectory(unioncode-jsonrpccpp) diff --git a/3rdparty/unioncode-jsonrpccpp/CMakeLists.txt b/3rdparty/unioncode-jsonrpccpp/CMakeLists.txt deleted file mode 100644 index d9d369274..000000000 --- a/3rdparty/unioncode-jsonrpccpp/CMakeLists.txt +++ /dev/null @@ -1,280 +0,0 @@ -project(unioncode-jsonrpccpp) - -set(JSONRPCCPP_ROOT "libjson-rpc-cpp") #1.4.1 -############### jsonrpccpp ############### - -# setup compiler settings && dependencies -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/${JSONRPCCPP_ROOT}/cmake") -message(STATUS "CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}") - -include(CMakeCompilerSettings) -include(CMakeDependencies) - -option(HUNTER_ENABLED "Enable Hunter package manager" NO) -include(HunterGate) -HunterGate( - URL "https://github.com/ruslo/hunter/archive/v0.18.47.tar.gz" - SHA1 "f0c476a3a0f9edd6182936d8c4460811f112189c" -) - -if(NOT MSVC) - set(BUILD_SHARED_LIBS YES CACHE BOOL "Build shared libraries") - set(BUILD_STATIC_LIBS NO CACHE BOOL "Build static libraries") -else() - set(BUILD_SHARED_LIBS NO CACHE BOOL "Build shared libraries") - set(BUILD_STATIC_LIBS YES CACHE BOOL "Build static libraries") -endif() -set(LIB_SUFFIX "" CACHE STRING "Suffix for library directory (32/64)") - -if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) - message(FATAL_ERROR "Both BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are disabled") -endif() - -# defaults for modules that can be enabled/disabled -if(UNIX) - set(UNIX_DOMAIN_SOCKET_SERVER NO CACHE BOOL "Include Unix Domain Socket server") - set(UNIX_DOMAIN_SOCKET_CLIENT NO CACHE BOOL "Include Unix Domain Socket client") - set(FILE_DESCRIPTOR_SERVER NO CACHE BOOL "Include File Descriptor server") - set(FILE_DESCRIPTOR_CLIENT NO CACHE BOOL "Include File Descriptor client") -endif(UNIX) - -set(TCP_SOCKET_SERVER YES CACHE BOOL "Include Tcp Socket server") -set(TCP_SOCKET_CLIENT YES CACHE BOOL "Include Tcp Socket client") -set(SERIAL_PORT_SERVER NO CACHE BOOL "Include Serial port server") -set(SERIAL_PORT_CLIENT NO CACHE BOOL "Include Serial port client") -set(REDIS_SERVER NO CACHE BOOL "Include Redis server using hiredis") -set(REDIS_CLIENT NO CACHE BOOL "Include Redis client using hiredis") -set(HTTP_SERVER NO CACHE BOOL "Include HTTP server using libmicrohttpd") -set(HTTP_CLIENT NO CACHE BOOL "Include HTTP client support using curl") -set(COMPILE_TESTS NO CACHE BOOL "Compile test framework") -set(COMPILE_STUBGEN NO CACHE BOOL "Compile the stubgenerator") -set(COMPILE_EXAMPLES NO CACHE BOOL "Compile example programs") - -option(WITH_COVERAGE "Build with code coverage flags" OFF) - -# print actual settings -if(UNIX) - message(STATUS "UNIX_DOMAIN_SOCKET_SERVER: ${UNIX_DOMAIN_SOCKET_SERVER}") - message(STATUS "UNIX_DOMAIN_SOCKET_CLIENT: ${UNIX_DOMAIN_SOCKET_CLIENT}") -endif(UNIX) -message(STATUS "TCP_SOCKET_SERVER: ${TCP_SOCKET_SERVER}") -message(STATUS "TCP_SOCKET_CLIENT: ${TCP_SOCKET_CLIENT}") -message(STATUS "HTTP_SERVER: ${HTTP_SERVER}") -message(STATUS "HTTP_CLIENT: ${HTTP_CLIENT}") -message(STATUS "REDIS_SERVER: ${REDIS_SERVER}") -message(STATUS "REDIS_CLIENT: ${REDIS_CLIENT}") -if(UNIX) - message(STATUS "UNIXDOMAINSOCKET_SERVER: ${UNIX_DOMAIN_SOCKET_SERVER}") - message(STATUS "UNIXDOMAINSOCKET_CLIENT: ${UNIX_DOMAIN_SOCKET_CLIENT}") -endif(UNIX) -message(STATUS "COMPILE_TESTS: ${COMPILE_TESTS}") -message(STATUS "COMPILE_STUBGEN: ${COMPILE_STUBGEN}") -message(STATUS "COMPILE_EXAMPLES: ${COMPILE_EXAMPLES}") - -# setup common headers and sources -file(GLOB jsonrpc_header ${JSONRPCCPP_ROOT}/*.h) -file(GLOB jsonrpc_header_common ${JSONRPCCPP_ROOT}/src/jsonrpccpp/common/*.h) -file(GLOB jsonrpc_source_common ${JSONRPCCPP_ROOT}/src/jsonrpccpp/common/*.c*) - -file(GLOB jsonrpc_header_server ${JSONRPCCPP_ROOT}/src/jsonrpccpp/server/*.h) -file(GLOB jsonrpc_source_server ${JSONRPCCPP_ROOT}/src/jsonrpccpp/server/*.c*) - -file(GLOB jsonrpc_header_client ${JSONRPCCPP_ROOT}/src/jsonrpccpp/client/*.h) -file(GLOB jsonrpc_source_client ${JSONRPCCPP_ROOT}/src/jsonrpccpp/client/*.c*) - -# setup connector variables defaults -set(client_connector_source "") -set(client_connector_header "") -set(client_connector_libs "") -set(server_connector_source "") -set(server_connector_header "") -set(server_connector_libs "") -set(SERVER_LIBS "") -set(CLIENT_LIBS "") - -# setup sources for http connectors -set(CLIENT_CONNECTORS ${JSONRPCCPP_ROOT}/src/jsonrpccpp/client/connectors) -set(SERVER_CONNECTORS ${JSONRPCCPP_ROOT}/src/jsonrpccpp/server/connectors) - -if (HTTP_CLIENT) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/httpclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/httpclient.cpp") - list(APPEND client_connector_libs ${CURL_LIBRARIES}) - set(CLIENT_LIBS "${CLIENT_LIBS} -lcurl") -endif () - -if (HTTP_SERVER) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/httpserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/httpserver.cpp") - list(APPEND server_connector_libs ${CMAKE_THREAD_LIBS_INIT} ${MHD_LIBRARIES}) - set(SERVER_LIBS "${SERVER_LIBS} -lmicrohttpd") -endif () - -# setup sources for redis connectors -if (REDIS_CLIENT) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/redisclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/redisclient.cpp") - list(APPEND client_connector_libs ${HIREDIS_LIBRARIES}) - include_directories(${HIREDIS_INCLUDE_DIRS}) - set(CLIENT_LIBS "${CLIENT_LIBS} -lhiredis") -endif () - -if (REDIS_SERVER) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/redisserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/redisserver.cpp") - list(APPEND server_connector_libs ${CMAKE_THREAD_LIBS_INIT} ${HIREDIS_LIBRARIES}) - set(SERVER_LIBS "${SERVER_LIBS} -lhiredis") -endif () - -# setup sources for unix domain socket connectors -if (UNIX_DOMAIN_SOCKET_SERVER) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/unixdomainsocketserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/unixdomainsocketserver.cpp") - list(APPEND server_connector_libs ${CMAKE_THREAD_LIBS_INIT}) -endif () - -if (UNIX_DOMAIN_SOCKET_CLIENT) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/unixdomainsocketclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/unixdomainsocketclient.cpp") -endif () - -# setup sources for tcp socket connectors -if (TCP_SOCKET_SERVER) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/tcpsocketserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/tcpsocketserver.cpp") - if (WIN32) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/windowstcpsocketserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/windowstcpsocketserver.cpp") - list(APPEND server_connector_libs ws2_32) - endif () - if (UNIX) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/linuxtcpsocketserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/linuxtcpsocketserver.cpp") - endif () - list(APPEND server_connector_libs ${CMAKE_THREAD_LIBS_INIT}) -endif () - -if (TCP_SOCKET_CLIENT) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/tcpsocketclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/tcpsocketclient.cpp") - if (WIN32) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/windowstcpsocketclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/windowstcpsocketclient.cpp") - list(APPEND client_connector_libs ws2_32) - endif () - if (UNIX) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/linuxtcpsocketclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/linuxtcpsocketclient.cpp") - endif () - list(APPEND client_connector_libs ${CMAKE_THREAD_LIBS_INIT}) -endif () - -if (SERIAL_PORT_SERVER) - if (UNIX) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/linuxserialportserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/linuxserialportserver.cpp") - endif () - list(APPEND server_connector_libs ${CMAKE_THREAD_LIBS_INIT}) -endif () - -if (SERIAL_PORT_CLIENT) - if (UNIX) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/linuxserialportclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/linuxserialportclient.cpp") - endif () - list(APPEND client_connector_libs ${CMAKE_THREAD_LIBS_INIT}) -endif () - -if (FILE_DESCRIPTOR_SERVER) - list(APPEND server_connector_header "${SERVER_CONNECTORS}/filedescriptorserver.h") - list(APPEND server_connector_source "${SERVER_CONNECTORS}/filedescriptorserver.cpp") - list(APPEND server_connector_libs ${CMAKE_THREAD_LIBS_INIT}) -endif () - -if (FILE_DESCRIPTOR_CLIENT) - list(APPEND client_connector_header "${CLIENT_CONNECTORS}/filedescriptorclient.h") - list(APPEND client_connector_source "${CLIENT_CONNECTORS}/filedescriptorclient.cpp") - list(APPEND client_connector_libs ${CMAKE_THREAD_LIBS_INIT}) -endif () - -# configure a header file to pass some of the CMake settings to the source code -file(MAKE_DIRECTORY "${JSONRPCCPP_ROOT}/src/jsonrpccpp/common") -configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/${JSONRPCCPP_ROOT}/src/jsonrpccpp/common/jsonparser.h.in" - "${CMAKE_CURRENT_SOURCE_DIR}/${JSONRPCCPP_ROOT}/src/jsonrpccpp/common/jsonparser.h" - ) - -# include required directories -include_directories(${JSONRPCCPP_ROOT}/src) -include_directories(${MHD_INCLUDE_DIRS}) - -# setup shared common library -if (BUILD_SHARED_LIBS) - add_library(unioncode-jsonrpccommon SHARED ${jsonrpc_source_common} ${jsonrpc_header} ${jsonrpc_helper_source_common}) - target_link_libraries(unioncode-jsonrpccommon ${JSONCPP_LIBRARY}) - set_target_properties(unioncode-jsonrpccommon PROPERTIES OUTPUT_NAME unioncode-jsonrpccpp-common) -endif () - -# setup static common library -if (BUILD_STATIC_LIBS OR MSVC) - add_library(common STATIC ${jsonrpc_source_common} ${jsonrpc_header} ${jsonrpc_helper_source_common}) - target_link_libraries(common jsoncpp_lib_static) - set_target_properties(common PROPERTIES OUTPUT_NAME jsonrpccpp-common) - - if (NOT BUILD_SHARED_LIBS) - add_library(unioncode-jsonrpccommon ALIAS common) - endif () -endif () - -# setup shared client library -if (BUILD_SHARED_LIBS) - add_library(unioncode-jsonrpcclient SHARED ${jsonrpc_source_client} ${jsonrpc_header} ${jsonrpc_header_client} ${client_connector_source}) - add_dependencies(unioncode-jsonrpcclient unioncode-jsonrpccommon) - target_link_libraries(unioncode-jsonrpcclient unioncode-jsonrpccommon ${client_connector_libs}) - set_target_properties(unioncode-jsonrpcclient PROPERTIES OUTPUT_NAME unioncode-jsonrpccpp-client) -endif () - -# setup static client library -if (BUILD_STATIC_LIBS OR MSVC) - add_library(client STATIC ${jsonrpc_source_client} ${jsonrpc_header} ${jsonrpc_header_client} ${client_connector_source}) - target_link_libraries(client common ${client_connector_libs}) - set_target_properties(client PROPERTIES OUTPUT_NAME jsonrpccpp-client) - - if (NOT BUILD_SHARED_LIBS) - add_library(unioncode-jsonrpcclient ALIAS client) - endif () -endif () - -# setup shared server library -if (BUILD_SHARED_LIBS) - add_library(unioncode-jsonrpcserver SHARED ${jsonrpc_source_server} ${jsonrpc_header} ${jsonrpc_header_server} ${server_connector_source}) - add_dependencies(unioncode-jsonrpcserver unioncode-jsonrpccommon) - target_link_libraries(unioncode-jsonrpcserver unioncode-jsonrpccommon ${server_connector_libs}) - set_target_properties(unioncode-jsonrpcserver PROPERTIES OUTPUT_NAME unioncode-jsonrpccpp-server) -endif () - -# setup static server library -if (BUILD_STATIC_LIBS OR MSVC) - add_library(server STATIC ${jsonrpc_source_server} ${jsonrpc_header} ${jsonrpc_header_server} ${server_connector_source}) - target_link_libraries(server common ${server_connector_libs}) - set_target_properties(server PROPERTIES OUTPUT_NAME jsonrpccpp-server) - - if (NOT BUILD_SHARED_LIBS) - add_library(jsonrpcserver ALIAS server) - endif () -endif () - -set(ALL_LIBS) - -if (BUILD_SHARED_LIBS OR NOT BUILD_STATIC_LIBS) - list(APPEND ALL_LIBS unioncode-jsonrpccommon unioncode-jsonrpcclient unioncode-jsonrpcserver) -endif () - -if (BUILD_STATIC_LIBS OR MSVC) - list(APPEND ALL_LIBS common client server) -endif () - -install(TARGETS unioncode-jsonrpccommon LIBRARY DESTINATION ${LIBRARY_INSTALL_PREFIX}) -install(TARGETS unioncode-jsonrpcserver LIBRARY DESTINATION ${LIBRARY_INSTALL_PREFIX}) -install(TARGETS unioncode-jsonrpcclient LIBRARY DESTINATION ${LIBRARY_INSTALL_PREFIX}) - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.circleci/config.yml b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.circleci/config.yml deleted file mode 100644 index d7c6096cb..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.circleci/config.yml +++ /dev/null @@ -1,62 +0,0 @@ -version: 2.1 -orbs: - codecov: codecov/codecov@1.0.2 -jobs: - build-debian-gcc: - docker: - - image: "debian:latest" - steps: - - checkout - - run: - name: Installing Dependencies - command: ./docker/deps-debian.sh - - run: - name: Build test and install - command: 'OS=debian ./docker/build_test_install.sh' - - run: - name: Create coverage report - command: lcov --directory . --capture --output-file coverage.info && lcov --remove coverage.info '/usr/*' --output-file coverage.info - - codecov/upload: - file: coverage.info - - build-fedora-gcc: - docker: - - image: "fedora:latest" - steps: - - checkout - - run: - name: Installing Dependencies - command: ./docker/deps-fedora.sh - - run: - name: Build test and install - command: 'OS=fedora ./docker/build_test_install.sh' - build-archlinux-gcc: - docker: - - image: "archlinux:latest" - steps: - - checkout - - run: - name: Installing Dependencies - command: ./docker/deps-archlinux.sh - - run: - name: Build test and install - command: 'OS=archlinux ./docker/build_test_install.sh' - build-osx-clang: - macos: - xcode: "13.0.0" - steps: - - checkout - - run: - name: Installing CMake - command: 'brew install cmake jsoncpp argtable curl hiredis redis libmicrohttpd' - - run: - name: Build - command: 'OS=osx ./docker/build_test_install.sh' -workflows: - version: 2 - build: - jobs: - - build-debian-gcc - - build-fedora-gcc - - build-archlinux-gcc - - build-osx-clang \ No newline at end of file diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.clang-format b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.clang-format deleted file mode 100644 index 8b96a9f33..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.clang-format +++ /dev/null @@ -1,115 +0,0 @@ -Language: Cpp -# BasedOnStyle: LLVM -AccessModifierOffset: -2 -AlignAfterOpenBracket: Align -AlignConsecutiveAssignments: false -AlignConsecutiveDeclarations: false -AlignEscapedNewlines: Right -AlignOperands: true -AlignTrailingComments: true -AllowAllParametersOfDeclarationOnNextLine: true -AllowShortBlocksOnASingleLine: false -AllowShortCaseLabelsOnASingleLine: false -AllowShortFunctionsOnASingleLine: All -AllowShortIfStatementsOnASingleLine: false -AllowShortLoopsOnASingleLine: false -AlwaysBreakAfterDefinitionReturnType: None -AlwaysBreakAfterReturnType: None -AlwaysBreakBeforeMultilineStrings: false -AlwaysBreakTemplateDeclarations: Yes -BinPackArguments: true -BinPackParameters: true -BraceWrapping: - AfterClass: false - AfterControlStatement: false - AfterEnum: false - AfterFunction: false - AfterNamespace: false - AfterObjCDeclaration: false - AfterStruct: false - AfterUnion: false - AfterExternBlock: false - BeforeCatch: false - BeforeElse: false - IndentBraces: false - SplitEmptyFunction: true - SplitEmptyRecord: true - SplitEmptyNamespace: true -BreakBeforeBinaryOperators: None -BreakBeforeBraces: Attach -BreakBeforeInheritanceComma: false -BreakInheritanceList: BeforeColon -BreakBeforeTernaryOperators: true -BreakConstructorInitializersBeforeComma: false -BreakConstructorInitializers: BeforeColon -BreakAfterJavaFieldAnnotations: false -BreakStringLiterals: true -ColumnLimit: 160 -CommentPragmas: '^ IWYU pragma:' -CompactNamespaces: false -ConstructorInitializerAllOnOneLineOrOnePerLine: false -ConstructorInitializerIndentWidth: 4 -ContinuationIndentWidth: 4 -Cpp11BracedListStyle: true -DerivePointerAlignment: false -DisableFormat: false -ExperimentalAutoDetectBinPacking: false -FixNamespaceComments: true -ForEachMacros: - - foreach - - Q_FOREACH - - BOOST_FOREACH -IncludeBlocks: Preserve -IncludeCategories: - - Regex: '^"(llvm|llvm-c|clang|clang-c)/' - Priority: 2 - - Regex: '^(<|"(gtest|gmock|isl|json)/)' - Priority: 3 - - Regex: '.*' - Priority: 1 -IncludeIsMainRegex: '(Test)?$' -IndentCaseLabels: false -IndentPPDirectives: None -IndentWidth: 2 -IndentWrappedFunctionNames: false -JavaScriptQuotes: Leave -JavaScriptWrapImports: true -KeepEmptyLinesAtTheStartOfBlocks: true -MacroBlockBegin: '' -MacroBlockEnd: '' -MaxEmptyLinesToKeep: 1 -NamespaceIndentation: All -ObjCBinPackProtocolList: Auto -ObjCBlockIndentWidth: 2 -ObjCSpaceAfterProperty: false -ObjCSpaceBeforeProtocolList: true -PenaltyBreakAssignment: 2 -PenaltyBreakBeforeFirstCallParameter: 19 -PenaltyBreakComment: 300 -PenaltyBreakFirstLessLess: 120 -PenaltyBreakString: 1000 -PenaltyBreakTemplateDeclaration: 10 -PenaltyExcessCharacter: 1000000 -PenaltyReturnTypeOnItsOwnLine: 60 -PointerAlignment: Right -ReflowComments: true -SortIncludes: true -SortUsingDeclarations: true -SpaceAfterCStyleCast: false -SpaceAfterTemplateKeyword: true -SpaceBeforeAssignmentOperators: true -SpaceBeforeCpp11BracedList: false -SpaceBeforeCtorInitializerColon: true -SpaceBeforeInheritanceColon: true -SpaceBeforeParens: ControlStatements -SpaceBeforeRangeBasedForLoopColon: true -SpaceInEmptyParentheses: false -SpacesBeforeTrailingComments: 1 -SpacesInAngles: false -SpacesInContainerLiterals: true -SpacesInCStyleCastParentheses: false -SpacesInParentheses: false -SpacesInSquareBrackets: false -Standard: Cpp11 -TabWidth: 2 -UseTab: Never \ No newline at end of file diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.dockerignore b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.dockerignore deleted file mode 100644 index 1ef11aa46..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.dockerignore +++ /dev/null @@ -1,55 +0,0 @@ -# osx noise -.DS_Store -profile - -cmake-build-* -# xcode noise -build/* -*.mode1 -*.mode1v3 -*.mode2v3 -*.perspective -*.perspectivev3 -*.pbxuser -*.xcworkspace -xcuserdata - -# svn & cvs -.svn -CVS -reports/* -doc/html -CMakeLists.txt.user* -src/examples/gen/* -*~ - -# IntelliJ -.idea - -*.tar.gz -*.asc - -# CMake -CMakeFiles -CMakeCache.txt - - -# Visual Studio files -/.vscode -*.sln -*.vcxproj -*.suo -*.sdf -*.opensdf -*.obj -*.log -*.tlog -*.filters -Win32 - -# misc -bin -lib -gen -win32-deps -**/*.dir/* diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.github/FUNDING.yml b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.github/FUNDING.yml deleted file mode 100644 index 42dbc32e6..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.github/FUNDING.yml +++ /dev/null @@ -1,3 +0,0 @@ -# These are supported funding model platforms - -github: cinemast diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.gitignore b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.gitignore deleted file mode 100644 index dbc153ef4..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/.gitignore +++ /dev/null @@ -1,59 +0,0 @@ -# osx noise -.DS_Store -profile - -# xcode noise -build2/* -build/* -*.mode1 -*.mode1v3 -*.mode2v3 -*.perspective -*.perspectivev3 -*.pbxuser -*.xcworkspace -xcuserdata - -#Qt-creator noise -build-* -cmake-build-* - -# svn & cvs -.svn -CVS -reports/* -doc/html -CMakeLists.txt.user* -src/examples/gen/* -*~ - -# IntelliJ -.idea - -*.tar.gz -*.asc - -# CMake -CMakeFiles -CMakeCache.txt - - -# Visual Studio files -/.vscode -*.sln -*.vcxproj -*.suo -*.sdf -*.opensdf -*.obj -*.log -*.tlog -*.filters -Win32 - -# misc -bin -lib -gen -win32-deps -**/*.dir/* diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/AUTHORS.md b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/AUTHORS.md deleted file mode 100644 index 381f7e4f9..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/AUTHORS.md +++ /dev/null @@ -1,84 +0,0 @@ -Peter Spiess-Knafl -+ core library -+ cmake build system -+ stubgenerator - -*Notes about this list:* I try to update this list regularly, but sometimes I just forget. If I happen to oversee someones contributions, please raise an issue for that and sorry in advance. For an always up to date genarated list, see at the [GitHub contributors list](https://github.com/cinemast/libjson-rpc-cpp/graphs/contributors). - -Feature contributions (chronological order) -=========================================== - -Joegen Baclor -+ automake/autoconf support -+ RPM packaging - -Bertrand Cachet -+ adapted build file for opt out of HTTP connectors -+ various bugfixes and support - -Marc Trudel -+ extended HTTP client connector - -Yuriy Syrovetskiy -+ added user supplied error blocks - -Veselin Rachev -+ added HTTP OPTIONS request support - -Marek Kotewicz -+ msvc support - -Alexandre Poirot -+ added client and server connectors that use Unix Domain Sockets -+ adapted build file to generate pkg-config file for this lib -+ added client and server connectors that use Tcp Sockets on Linux and Windows (uses native socket and thread API on each OS) - -Trevor Vannoy -+ python client stub generator - -Jean-Daniel Michaud -+ added server/client file descriptor support - -Jacques Software -+ added support for redis connector - -Bugfixes (chronological order) -============================== - -Emilien Kenler -+ bugfixes in HTTP client connector - -kaidokert -+ bugfixes in parameter handling - -Nozomu Kaneko -+ bugfixes in batch requests - -caktoux -+ bugfixes in build system - -Julien Jorge -+ bugfixes in batch requests - -Pascal Heijnsdijk -+ Htttp Client timeout bugfix and memory leak. - -Kasper Laudrup -+ Code reviews - -Erik Lundin -+ bugfix in cpp-server stubgen -+ bugfix for gcc 4.7 compatibility - -Michał Górny -+ bugfixes in the build system - -Trevor Vannoy -+ fixed tcp socket client compile issues - -Ranganathan Balakrishnan -+ add JSON NUMERIC data type to accept both real and integer values - -Evgeny Petrov -+ added data field for error handler -+ \ No newline at end of file diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CHANGELOG.md b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CHANGELOG.md deleted file mode 100644 index 598000298..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CHANGELOG.md +++ /dev/null @@ -1,259 +0,0 @@ -# Change Log -All notable changes to this project will be documented in this file. - -The format is based on [Keep a Changelog](http://keepachangelog.com/) -and this project adheres to [Semantic Versioning](http://semver.org/). - -## [1.4.1] - 2021-11-25 -### Fixed -- Fedora CI build by updating to Catch v2.13.7 -- Typo in README (#313) - -### Changed -- Vendoring catch library instead of downloading from github - -## [1.4.0] - 2021-10-23 -### Fixed -- Deprecation warnings for Jsoncpp (#312) -- Compatibility with newer libmicrohttpd versions (>= 0.9.71) (#298 #299) -- Typo in diagram (#293) -- File descriptor leaks in connectors - -### Changed -- Moved from travis-ci to circleci (#311) -- Use `.empty()` checks instead of `.size() == 0` - -## [1.3.0] - 2020-01-13 -### Added -- Linux SerialPort client and server connector(#286) -- Build example for Centos 7 (#267) -- `Json::Value` example code (#281) -- IPv6 Support for `HttpServer` (#275) -- Added data field in error handler in JS stub generator - -### Fixed -- Incorrect README sections (#280) -- Incorrect INTERFACE_LINK_LIBRARIES (#253) -- `HttpClient` Response Code checking (#278) - -## [v1.2.0] - 2019-03-29 -### Added -- The `HttpServer` connector now has a `BindLocalhost` method (#261) - -### Fixed -- Don't precompress and honor GnuInstallDir for manpage of jsonrpcstub (#252) -- Arch Linux CI build (base image changed) -- brew CI build (no longer has `--ssl` flag for libmicrohttpd) -- Catching `Jsoncpp::Exception` for `.parse()` invocations -- Compile issue when building static only (#263) -- Update catch2 to 2.7.0 and fix include path (#251) -- Removed deprecated jsoncpp invocations - - -## [v1.1.1] - 2018-10-31 -### Fixed -- Build issue on RHEL7 (#244, #246) -- Build with empty install prefix (#226) -- GnuInstallDirs handling for library targets (#239) -- Disabled libcurl signal handlers (#210) -- Terrible performance for socket based connectors (#229) -- Library versioning error (1.1.0 release actually specified 1.0.0) - -### Added -- Missing documentation about python stubgenerator (#222) -- Parameter to enable omitEndingLineFeed() (#213) -- Documentation in examples about throwing server side errors (#249) - -### Changed -- Updated CI images to use Ubuntu 18.04 instead of 17.04 -- Disabled FileDescriptor connectors by default -- Removed custom FindCURL cmake module (#237) -- Parameter handling of procedures without params in stubgenerator - -## [v1.1.0] - 2018-01-04 -### Fixed -- Fix missing hiredis libs when using only REDIS_CLIENT -- Fix running tests in parallel (#204) -- Fix fetching new version of catch, if it is not installed locally -- Disable UnixDomainSocket Connectors by default, they introduce flaky tests -- Merged MSVC related PR. - -## [v1.0.0] - 2017-08-27 -### Fixed -- Typo in ERROR_CLIENT_CONNECTOR exception -- Integration testsuite when run without HTTP -- dev/testcoverage.sh script which did not create the build directory -- Indentation in CMakeLists.txt files -- Positional parameters with more than 10 items -- C++11 deprecated dynamic exception specifiers have been removed -- libmicrohttpd legacy detection for `EPOLL` - -### Added -- File descriptor client and server connector -- Redis client and server connector -- Docker based build system for testing on multiple distributions -- Python client stubgenerator -- CI Integration for OSX build -- `StreamReader` and `StreamWriter` classes to handle the buffering -- [Makefile](Makefile) for developer/contributor related functions - -### Removed -- Method `BatchResponse::getResult(Json::Value& id)` -- Method `AbstractServerConnector::SendResponse()` -- Scripts dev/ci.sh, dev/createpackage.sh, dev/installdeps.sh -- `dev/coverage.sh` in favor of `make coverage` -- Windows support, which will hopefully come back soon - -### Changed -- Migrated from coveralls.io to codecov.io -- Changed maintainer e-mail address -- Use libmicrohttpd's EPOLL where possible (lmhd >= 0.9.52) -- Added `set -e` to testcoverage.sh script -- Changelog format to [keepachangelog.com](http://keepachangelog.com/en/0.3.0/) -- Refactored all socket-based client and server connectors to reduce code duplication -- Changed interfaces for `AbstractServerConnector` to avoid the ugly `void *` backpointer - -## [v0.7.0] - 2016-08-10 -### Fixed -- armhf compatibility -- Invalid client id field handling (removed int only check) -- Security issues in unixdomainsocket connectors -- Missing CURL include directive -- Parallel build which failed due to failing CATCH dependency -- Handling 64-bit ids -- Invalid parameter check -- Invalid pointer handling in HTTP-Server - -### Added -- TCP Server + Client connectors - -## Changed -- Requiring C++11 support (gcc >= 4.8) - -## [v0.6.0] - 2015-06-27 -### Added -- pkg-config files for all shared libraries -- UNIX Socket client + server connector -- multiarch support - -### Changed -- unit testing framework to catch -- allow disabling shared library build -- split out shared/static library for stubgenerator - -## [v0.5.0] - 2015-04-07 -### Fixed -- building tests with examples disabled. -- unnecessary rebuilds of stubs on each `make` call. - -### Added -- `--version` option to jsonrpcstub. -- msvc support. -- data field support for JsonRpcException. -- contributions guide: https://github.com/cinemast/libjson-rpc-cpp#contributions -- HttpClient uses Http Keep-Alive, which improves performance drastically. -- multiarch support. - -### Changed -- Made static library build optional (via `BUILD_STATIC_LIBS`). - -## [v0.4.2] - 2015-01-21 -### Fixed -- Some spelling mistakes. -- HttpServer with Threading option in SSL startup. - -### Changed -- Use CMAKE versioning in manpage. -- Improved include scheme of jsoncpp. - -## [v0.4.1] - 2014-12-01 -### Added -- coverity scan support -- [API compatibility report](http://upstream.rosalinux.ru/versions/libjson-rpc-cpp.html) -- Stubgenerator option for protocol switches (JSON-RPC 1.0 & 2.0) - -### Changed -- Improved manpage - -## [v0.4] - 2014-11-21 -### Fixed -- Memory leaks - -### Added -- Full WIN32 build support -- JavaScript client stub support -- Improved test coverage (100% line coverage) - -### Changed -- Switched Http Server to libmicrohttpd -- Removed TCP Client/Server implementation due to security and codestyle problems. -- Removed dirty pointer stuff in bindAndAddX() methods. -- Using call by value in generated stubs for primitive data types. - -## [v0.3.2] - 2014-10-26 -### Fixed -- Minor bugs - -### Added -- Testcases for client + server -> higher testcoverage -- JSON-RPC 1 Client + Server support - -### Changed -- Refactorings in server for JSON-RPC 1 support -- Hiding irrelevant API headers from installation -- Renamed AbstractClientConnector to IClientConnector (please regenearte your client stubs after upgrading) -- Reactivated dev/testcoverage.sh to measure testcoverage. - -## [v0.3.1] - 2014-10-22 -### Fixed -- Minor bugs - -### Added -- Experimental Javascript client to stubgenerator - -### Changed -- Changed SOVERSION -- Adapted HTTP Server to enable CORS. - -## [v0.3] - 2014-10-19 -### Fixed -- Renamed .so files to avoid collisions with makerbot's libjsonrpc. -- Invalid Batchcalls in Client and Server caused runtime exceptions. - -### Added -- Namespace/package support for generated stub classes. -- CMake options to enable/disable Stubgenerator, Examples, Connectors and Testsuite. -- Boost-test based unit testing suite, which makes testing more flexible. - -### Changed -- Split up server and client into separate libraries -- Lot's of refactorings in the build system and stubgenerator. -- Removed Autotools support (because of all the changes in this release). -- Removed embedded libjson-cpp. -- Simplified spec format: a procedure specification without `return` field is a notification. - -# [v0.2.1] - 2013-07-27 -### Added -- Support for positional parameters. (see at [example specification](https://github.com/cinemast/libjson-rpc-cpp/blob/master/src/example/spec.json) how to declare them) - -## [0.2] - 2013-05-29 -### Fixed -- Minor bugs - -### Added -- Stub generator for client and server. -- SpecificationWriter to generate Specifications from RPC-Server definitions. -- SpecificationParser to parse a Specification file and generate Methods for the RPC-Server. -- Automated testing after build phase (using `make test`) - -### Changed -- Refactored architecture. -- Removed mandatory configuration files (making it more compatible for embedded use cases). -- Updated JsonCPP library -- Update Mongoose library -- Enable SSL Support (provided by mongoose) -- Embedding dependent libraries (to avoid naming conflicts) - -## [0.1] - 2013-02-07 -### Added -- Initial release diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CMakeLists.txt b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CMakeLists.txt deleted file mode 100644 index 961e55a3c..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CMakeLists.txt +++ /dev/null @@ -1,162 +0,0 @@ -cmake_minimum_required(VERSION 3.0) - -# setup directory where we should look for cmake files -list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake") - -option(HUNTER_ENABLED "Enable Hunter package manager" NO) -include(HunterGate) -HunterGate( - URL "https://github.com/ruslo/hunter/archive/v0.18.47.tar.gz" - SHA1 "f0c476a3a0f9edd6182936d8c4460811f112189c" -) - -project(libjson-rpc-cpp) - -# list command no longer ignores empty elements -cmake_policy(SET CMP0007 NEW) -cmake_policy(SET CMP0012 NEW) - -if (${CMAKE_MAJOR_VERSION} GREATER 2) - # old policy do not use MACOSX_RPATH - cmake_policy(SET CMP0042 OLD) -endif() - -set(MAJOR_VERSION 1) -set(MINOR_VERSION 4) -set(PATCH_VERSION 1) -set(SO_VERSION 1) - -if(NOT MSVC) - set(BUILD_SHARED_LIBS YES CACHE BOOL "Build shared libraries") - set(BUILD_STATIC_LIBS NO CACHE BOOL "Build static libraries") -else() - set(BUILD_SHARED_LIBS NO CACHE BOOL "Build shared libraries") - set(BUILD_STATIC_LIBS YES CACHE BOOL "Build static libraries") -endif() -set(LIB_SUFFIX "" CACHE STRING "Suffix for library directory (32/64)") - -if (NOT BUILD_SHARED_LIBS AND NOT BUILD_STATIC_LIBS) - message(FATAL_ERROR "Both BUILD_SHARED_LIBS and BUILD_STATIC_LIBS are disabled") -endif() - -# defaults for modules that can be enabled/disabled -if(UNIX) - set(UNIX_DOMAIN_SOCKET_SERVER NO CACHE BOOL "Include Unix Domain Socket server") - set(UNIX_DOMAIN_SOCKET_CLIENT NO CACHE BOOL "Include Unix Domain Socket client") - set(FILE_DESCRIPTOR_SERVER NO CACHE BOOL "Include File Descriptor server") - set(FILE_DESCRIPTOR_CLIENT NO CACHE BOOL "Include File Descriptor client") -endif(UNIX) - -set(TCP_SOCKET_SERVER NO CACHE BOOL "Include Tcp Socket server") -set(TCP_SOCKET_CLIENT NO CACHE BOOL "Include Tcp Socket client") -set(SERIAL_PORT_SERVER NO CACHE BOOL "Include Serial port server") -set(SERIAL_PORT_CLIENT NO CACHE BOOL "Include Serial port client") -set(REDIS_SERVER YES CACHE BOOL "Include Redis server using hiredis") -set(REDIS_CLIENT YES CACHE BOOL "Include Redis client using hiredis") -set(HTTP_SERVER YES CACHE BOOL "Include HTTP server using libmicrohttpd") -set(HTTP_CLIENT YES CACHE BOOL "Include HTTP client support using curl") -set(COMPILE_TESTS YES CACHE BOOL "Compile test framework") -set(COMPILE_STUBGEN YES CACHE BOOL "Compile the stubgenerator") -set(COMPILE_EXAMPLES YES CACHE BOOL "Compile example programs") - -option(WITH_COVERAGE "Build with code coverage flags" ON) - -# print actual settings -if(UNIX) - message(STATUS "UNIX_DOMAIN_SOCKET_SERVER: ${UNIX_DOMAIN_SOCKET_SERVER}") - message(STATUS "UNIX_DOMAIN_SOCKET_CLIENT: ${UNIX_DOMAIN_SOCKET_CLIENT}") -endif(UNIX) -message(STATUS "TCP_SOCKET_SERVER: ${TCP_SOCKET_SERVER}") -message(STATUS "TCP_SOCKET_CLIENT: ${TCP_SOCKET_CLIENT}") -message(STATUS "HTTP_SERVER: ${HTTP_SERVER}") -message(STATUS "HTTP_CLIENT: ${HTTP_CLIENT}") -message(STATUS "REDIS_SERVER: ${REDIS_SERVER}") -message(STATUS "REDIS_CLIENT: ${REDIS_CLIENT}") -if(UNIX) - message(STATUS "UNIXDOMAINSOCKET_SERVER: ${UNIX_DOMAIN_SOCKET_SERVER}") - message(STATUS "UNIXDOMAINSOCKET_CLIENT: ${UNIX_DOMAIN_SOCKET_CLIENT}") -endif(UNIX) -message(STATUS "COMPILE_TESTS: ${COMPILE_TESTS}") -message(STATUS "COMPILE_STUBGEN: ${COMPILE_STUBGEN}") -message(STATUS "COMPILE_EXAMPLES: ${COMPILE_EXAMPLES}") - -# setup compiler settings && dependencies -include(CMakeCompilerSettings) -include(CMakeDependencies) -include(GNUInstallDirs) - -# setup output directories -set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") -set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/bin") -set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/lib") - -# setup global include_directories (for backwards compatibility) -include_directories("${CMAKE_BINARY_DIR}/gen/") -include_directories("${CMAKE_BINARY_DIR}/gen/jsonrpccpp/common") - -# the core framework -add_subdirectory(src/jsonrpccpp) - -#the stubgenerator -if (COMPILE_STUBGEN) - add_subdirectory(src/stubgenerator) -endif() - -# setup examples -if (COMPILE_EXAMPLES) - add_subdirectory(src/examples) -endif() - -# setup test suite -if (COMPILE_TESTS) - enable_testing() - add_subdirectory(src/test) -endif() - -# create documentation -if (DOXYGEN_FOUND) - file(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/doc) - message(STATUS "Found doxygen: ${DOXYGEN_EXECUTABLE}") - configure_file("${PROJECT_SOURCE_DIR}/doc/doxyfile.in" "${CMAKE_BINARY_DIR}/Doxyfile" @ONLY) - add_custom_target(doc ${DOXYGEN_EXECUTABLE} ${CMAKE_BINARY_DIR}/Doxyfile WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/doc COMMENT "Generating API documentation") -endif(DOXYGEN_FOUND) - -# setup uninstall target -configure_file( - "${CMAKE_CURRENT_SOURCE_DIR}/cmake/cmake_uninstall.cmake.in" - "${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake" - IMMEDIATE @ONLY -) - -add_custom_target( - uninstall - COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake -) - -# CMake package -set(package_name "libjson-rpc-cpp") -include(CMakePackageConfigHelpers) -set(config_install_destination ${CMAKE_INSTALL_LIBDIR}/${package_name}/cmake) -configure_package_config_file( - cmake/${package_name}Config.cmake.in ${package_name}Config.cmake - INSTALL_DESTINATION ${config_install_destination} -) -write_basic_package_version_file( - ${package_name}ConfigVersion.cmake - VERSION ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} - COMPATIBILITY ExactVersion -) -install( - EXPORT ${package_name}Targets - DESTINATION ${config_install_destination} - NAMESPACE ${package_name}:: -) -install( - FILES - ${CMAKE_CURRENT_BINARY_DIR}/${package_name}Config.cmake - ${CMAKE_CURRENT_BINARY_DIR}/${package_name}ConfigVersion.cmake - DESTINATION ${config_install_destination} -) - -# packaging stuff -include(CMakePackaging) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CONTRIBUTING.md b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CONTRIBUTING.md deleted file mode 100644 index ab4cb04fa..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/CONTRIBUTING.md +++ /dev/null @@ -1,51 +0,0 @@ -# Developer Information - -If you plan to contribute to libjson-rpc-cpp, please skim the following information. - -## Developer Makefile - -The [Makefile](Makefile) contains useful commands that makes development for libjson-rpc-cpp easier. - -* `make build`: builds the framework in the default configuration -* `make test`: runs all tests -* `make format`: formats all cpp and header files with `clang-format` -* `make check-format`: checks if the sources have been formatted -* `make coverage`: generates a coverage report to `reports/coverage.html` -* `make clean`: remove all build artifacts - -## Contributions - -Contributions of any kind are always very welcome. -Here are some suggestions: - -- Bugreports -- Bugfixes -- Extending documentation (especially doxygen) -- Extending the test coverage -- Simplifying the build system -- Suggestion of new features -- New features: - - Adding new connectors. - - Adding new languages to the stubgenerator. - -In addition, you can find a wishlist and planned features [here](https://github.com/cinemast/libjson-rpc-cpp/projects/1) - -### Guidelines / Conventions - -We do not want to prevent you from contributing by having too strict guidelines. -If you have ideas for improvement, just do it your way, rather than doing it not at all. - -Anyway here is a list of how we would prefer your contributions: -#### Issues: - - Use the issue tracker on github to report bugs or improvements. - - Please avoid sending me mails directly, as this is not visible to others. - - Please close issues on yourself if you think a problem has been dealt with. - -#### Code contributions: - - Please raise a pull-request. - - If you add features, please keep the test-coverage at 100% line coverage and document them accordingly (doxygen, manpage, etc.). - - If you fix a bug, please refer the issue in the [commit message](https://help.github.com/articles/closing-issues-via-commit-messages/). - - Please make sure that the CI build passes (you will get notified if you raise a pull-request). - - Add yourself to the AUTHORS.md. - - Document your changes in the CHANGELOG.md - - Format the code using `make format` diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/LICENSE.txt b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/LICENSE.txt deleted file mode 100644 index d96f002ce..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/LICENSE.txt +++ /dev/null @@ -1,18 +0,0 @@ -Copyright (C) 2011-2017 Peter Spiess-Knafl - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in the -Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/Makefile b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/Makefile deleted file mode 100644 index 6a1c449c5..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/Makefile +++ /dev/null @@ -1,32 +0,0 @@ -# This file is only used for development for convinience functions as -# quick builds and tests - -GIT_VERSION := $(shell git describe --abbrev=4 --dirty --always --tags) -.PHONY: build - -build: - mkdir -p build - cd build && cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_COVERAGE=Yes .. && make -j$(nproc) - -coverage: test - mkdir -p reports - gcovr -r . -d -e "build" -e "src/test" -e "src/examples" -e "src/stubgenerator/main.cpp" --html --html-details -o reports/coverage.html - -format: - find src/ -name "*.h" -o -name "*.cpp" -exec clang-format -i {} \; - -check-format: format - git diff --exit-code - -tarball: - git archive --format=tar.gz --prefix=libjson-rpc-cpp-$(GIT_VERSION)/ -o libjson-rpc-cpp-$(GIT_VERSION).tar.gz HEAD - -signed-taball: tarball - gpg --armor --detach-sign libjson-rpc-cpp-$(GIT_VERSION).tar.gz - -test: build - cd build && ./bin/unit_testsuite - -clean: - rm -rf build - rm -rf reports diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/README.md b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/README.md deleted file mode 100644 index 4ef094fdf..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/README.md +++ /dev/null @@ -1,221 +0,0 @@ -**I created a new C++17 header only implementation -> [json-rpc-cxx](https://github.com/jsonrpcx/json-rpc-cxx).** - -Master [![CircleCI](https://circleci.com/gh/cinemast/libjson-rpc-cpp/tree/master.svg?style=svg)](https://circleci.com/gh/cinemast/libjson-rpc-cpp/tree/master) -[![codecov](https://codecov.io/gh/cinemast/libjson-rpc-cpp/branch/master/graph/badge.svg?token=QNoXsaI2ta)](https://codecov.io/gh/cinemast/libjson-rpc-cpp) - - -libjson-rpc-cpp -=============== - -This framework provides cross platform JSON-RPC (remote procedure call) support for C++. -It is fully JSON-RPC [2.0 & 1.0 compatible](http://www.jsonrpc.org/specification). - -![libjson-rpc-cpp logo](https://github.com/cinemast/libjson-rpc-cpp/blob/master/dev/artwork/logo.png?raw=true) - -**5 good reasons for using libjson-rpc-cpp in your next RPC project** -- Full JSON-RPC 2.0 & partial JSON-RPC 1.0 client and server Support. -- jsonrpcstub - a tool that generates stub-classes for your JSON-RPC client and server applications. -- Ready to use HTTP + TCP server and client to provide simple interfaces for your JSON-RPC application. -- Cross platform build support for Linux and OS X. -- Super liberal [MIT-License](http://en.wikipedia.org/wiki/MIT_License). - -**Other good reasons to use libjson-rpc-cpp** -- Easy to use [cmake](http://www.cmake.org) cross platform build system. -- Clean and simple architecture, which makes it easy to extend. -- Continuously tested under MacOS, and [various linux distributions](https://travis-ci.org/cinemast/libjson-rpc-cpp). -- Automated testing using `make test`. -- Useful Examples provided. e.g. XBMC Remote using json-rpc client part and stub generator. -- The stubgenerator currently supports C++, JavaScript, and Python. - -Overview -========= -![libjson-rpc-cpp logo](dev/artwork/overview.png?raw=true) - -Install the framework -===================== - -**Debian (stretch) and Ubuntu (15.10 or later)** - -```sh -sudo apt-get install libjsonrpccpp-dev libjsonrpccpp-tools -``` - -**Fedora** - -```sh -sudo dnf install libjson-rpc-cpp-devel libjson-rpc-cpp-tools -``` - -**Arch Linux** - -For Arch Linux there is a [PKGBUILD provided in the AUR](https://aur.archlinux.org/packages/libjson-rpc-cpp/). - -```sh -sudo aura -A libjson-rpc-cpp -``` - -**Gentoo Linux** - -```sh -sudo emerge dev-cpp/libjson-rpc-cpp -``` - -**Mac OS X** - -For OS X a [Brew](http://brew.sh) package is available: -```sh -brew install libjson-rpc-cpp -``` - -**Windows** - -There is a ready to use compiled package [here](http://spiessknafl.at/libjson-rpc-cpp). -Just download execute the installer EXE. - -Build from source -================= -Install the dependencies ------------------------- -- [libcurl](http://curl.haxx.se/) -- [libmicrohttpd](http://www.gnu.org/software/libmicrohttpd/) -- [libjsoncpp](https://github.com/open-source-parsers/jsoncpp) -- [libargtable](http://argtable.sourceforge.net/) -- [cmake](http://www.cmake.org/) -- [libhiredis](https://redislabs.com/lp/hiredis/) -- [catch](https://github.com/catchorg/Catch2) - -**UNIX** - -For Debian and Arch GNU/Linux based systems, all dependencies are available via the package manager. -For OS X all dependencies are available in [Brew](http://brew.sh) - -Build ------ - -```sh -git clone git://github.com/cinemast/libjson-rpc-cpp.git -mkdir -p libjson-rpc-cpp/build -cd libjson-rpc-cpp/build -cmake .. && make -sudo make install -sudo ldconfig #only required for linux -``` -That's it! - -If you are not happy with it, simply uninstall it from your system using (inside the build the directory): -```sh -sudo make uninstall -``` - -**Build options:** - -Default configuration should be fine for most systems, but here are available compilation flags: - -- `-DCOMPILE_TESTS=NO` disables unit test suite. -- `-DCOMPILE_STUBGEN=NO` disables building the stubgenerator. -- `-DCOMPILE_EXAMPLES=NO` disables examples. -- `-DHTTP_SERVER=NO` disable the libmicrohttpd webserver. -- `-DHTTP_CLIENT=NO` disable the curl client. -- `-DREDIS_SERVER=NO` disable the redis server connector. -- `-DREDIS_CLIENT=NO` disable the redis client connector. -- `-DUNIX_DOMAIN_SOCKET_SERVER=YES` enable the unix domain socket server connector. -- `-DUNIX_DOMAIN_SOCKET_CLIENT=YES` enable the unix domain socket client connector. -- `-DFILE_DESCRIPTOR_SERVER=NO` disable the file descriptor server connector. -- `-DFILE_DESCRIPTOR_CLIENT=NO` disable the file descriptor client connector. -- `-DTCP_SOCKET_SERVER=NO` disable the tcp socket server connector. -- `-DTCP_SOCKET_CLIENT=NO` disable the tcp socket client connector. - -Using the framework -=================== -This example will show the most simple way to create a rpc server and client. If you only need the server, ignore step 4. If you only need the client, ignore step 3. You can find all resources of this sample in the `src/examples` directory of this repository. - -### Step 1: Writing the specification file ### - -```json -[ - { - "name": "sayHello", - "params": { - "name": "Peter" - }, - "returns" : "Hello Peter" - }, - { - "name" : "notifyServer" - } -] -``` - -The type of a return value or parameter is defined by the literal assigned to it. The generated stubs will will use the "returns" type to validate the response. In this example you can see how to specify methods and notifications. - -### Step 2: Generate the stubs for client and server ### - -Call jsonrpcstub: -```sh -jsonrpcstub spec.json --cpp-server=AbstractStubServer --cpp-client=StubClient -mkdir -p gen -mv abstractstubserver.h gen -mv stubclient.h gen -``` - -This generates an `AbstractStubServer` and a `StubClient` class and moves them to the `gen` folder. - - -### Step 3: implement the abstract server stub ### - -Extend the abstract server stub and implement all pure virtual (abstract) methods defined in `spec.json`. - -See [src/examples/stubserver.cpp](src/examples/stubserver.cpp) - - -In the main function the concrete server is instantiated and started. That is all for the server. Any JSON-RPC 2.0 compliant client can now connect to your server. - -Compile the server with: - -```sh -g++ stubserver.cpp -ljsoncpp -lmicrohttpd -ljsonrpccpp-common -ljsonrpccpp-server -o sampleserver -``` - -### Step 4: Create the client application - - -See [src/examples/stubclient.cpp](src/examples/stubclient.cpp) - - -Compile the client with: - -```sh -g++ stubclient.cpp -ljsoncpp -lcurl -ljsonrpccpp-common -ljsonrpccpp-client -o sampleclient -``` - -## Contributions - -Please take a look at [CONTRIBUTING.md](CONTRIBUTING.md) - -You can also donate via [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=CJV4LY486L838&source=url) - -## Changelogs - -Changelogs can be found [here](CHANGELOG.md). - -## API compatibility -We do our best to keep the API/ABI stable, to prevent problems when updating this framework. -A compatiblity report can be found [here](http://upstream.rosalinux.ru/versions/libjson-rpc-cpp.html). - -## License -This framework is licensed under [MIT](http://en.wikipedia.org/wiki/MIT_License). -All of this libraries dependencies are licensed under MIT compatible licenses. - - -References -========== -- [NASA Ames Research Center](http://www.nasa.gov/centers/ames/home/): use it to obtain aircraft state information from an aircraft simulator. -- [LaseShark 3D Printer](https://github.com/macpod/lasershark_3dp): used to control the firmware of the 3D printer. -- [cpp-ethereum](https://github.com/ethereum/cpp-ethereum): C++ implementations for the ethereum crypto currency. -- [mage-sdk-cpp](https://github.com/mage/mage-sdk-cpp): a game engine. -- [bitcodin](http://www.bitmovin.net): a scalable cloud based video transcoding platform. -- [wgslib](http://wgslib.com/): a web geostatistics library. -- [bitcoin-api-cpp](https://github.com/minium/bitcoin-api-cpp): a C++ interface to bitcoin. -- [NIT DASH Content Server](http://www.nit.eu/offer/research-projects-products/334-http2dash): Dynamic Adaptive Streaming over HTTP server. - -If you use this library and find it useful, I would be very pleased if you let me know about it. diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakeCompilerSettings.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakeCompilerSettings.cmake deleted file mode 100644 index 67023e7b3..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakeCompilerSettings.cmake +++ /dev/null @@ -1,19 +0,0 @@ -# Set necessary compile and link flags -if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wall -Wformat -Wno-format-extra-args -Wformat-security -Wformat-nonliteral -Wformat=2 -Wextra -Wnon-virtual-dtor -fPIC -O0") - if(WITH_COVERAGE) - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") - endif() -elseif ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11") - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++11 -Wall -Wextra -Wnon-virtual-dtor -fPIC -O0") - if(WITH_COVERAGE) - set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage") - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fprofile-arcs -ftest-coverage") - endif() -elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - # Suppress warning C4290: C++ exception specification ignored except to indicate a function is not __declspec(nothrow) - set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -wd4290") -endif() diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakeDependencies.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakeDependencies.cmake deleted file mode 100644 index d355a0948..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakeDependencies.cmake +++ /dev/null @@ -1,42 +0,0 @@ -# all dependencies that are not directly included in the libjson-rpc-cpp distribution are defined here! -# default search directory for dependencies is ${CMAKE_SOURCE_DIR}/win32-deps (for backwards compatibility) -# if your dependencies directory is different, please run cmake with CMAKE_PREFIX_PATH option eg: -# -# cmake -DCMAKE_PREFIX_PATH=path_to_your_dependencies . - -# set default dependencies search path -set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} "${CMAKE_SOURCE_DIR}/win32-deps") - -find_package(Jsoncpp REQUIRED) -message(STATUS "Jsoncpp header: ${JSONCPP_INCLUDE_DIR}") -message(STATUS "Jsoncpp lib : ${JSONCPP_LIBRARY}") -include_directories(${JSONCPP_INCLUDE_DIR}) -include_directories(${JSONCPP_INCLUDE_DIR}/jsoncpp) - -if(${COMPILE_STUBGEN}) - find_package(Argtable REQUIRED) - message(STATUS "Argtable header: ${ARGTABLE_INCLUDE_DIRS}") - message(STATUS "Argtable lib : ${ARGTABLE_LIBRARIES}") -endif() - -if(${HTTP_CLIENT}) - find_package(CURL REQUIRED) - find_package(Threads) - message(STATUS "CURL header: ${CURL_INCLUDE_DIRS}") - message(STATUS "CURL lib : ${CURL_LIBRARIES}") -endif() - -if (${HTTP_SERVER}) - find_package(MHD REQUIRED) - message(STATUS "MHD header: ${MHD_INCLUDE_DIRS}") - message(STATUS "MHD lib : ${MHD_LIBRARIES}") -endif() - -if (${REDIS_SERVER} OR ${REDIS_CLIENT}) - find_package(Hiredis REQUIRED) - message(STATUS "Hiredis header: ${HIREDIS_INCLUDE_DIRS}") - message(STATUS "Hiredis lib : ${HIREDIS_LIBRARIES}") -endif() - -find_package(Threads REQUIRED) -find_package(Doxygen) \ No newline at end of file diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakePackaging.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakePackaging.cmake deleted file mode 100644 index e8c06a481..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/CMakePackaging.cmake +++ /dev/null @@ -1,19 +0,0 @@ -include(InstallRequiredSystemLibraries) -set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "libjson-rpc-cpp") -set(CPACK_PACKAGE_VENDOR "Peter Spiess-Knafl ") -set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.md") -set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE.txt") -set(CPACK_PACKAGE_VERSION_MAJOR "${MAJOR_VERSION}") -set(CPACK_PACKAGE_VERSION_MINOR "${MINOR_VERSION}") -set(CPACK_PACKAGE_VERSION_PATCH "${PATCH_VERSION}") - -if (WIN32 AND NOT UNIX) - set(CPACK_GENERATOR "NSIS") - set(CPACK_NSIS_DISPLAY_NAME "${CPACK_PACKAGE_INSTALL_DIRECTORY} libjson-rpc-cpp") - set(CPACK_NSIS_HELP_LINK "http://github.com/cinemast/libjson-rpc-cpp") - set(CPACK_NSIS_URL_INFO_ABOUT "http://github.com/cinemast/libjson-rpc-cpp") - set(CPACK_NSIS_CONTACT "Peter Spiess-Knafl ") - set(CPACK_NSIS_MODIFY_PATH ON) -endif(WIN32 AND NOT UNIX) - -include(CPack) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindArgtable.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindArgtable.cmake deleted file mode 100644 index 9728dbd47..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindArgtable.cmake +++ /dev/null @@ -1,40 +0,0 @@ -# - Try to find ARGTABLE -# Once done this will define -# -# ARGTABLE_FOUND - system has ARGTABLE -# ARGTABLE_INCLUDE_DIRS - the ARGTABLE include directory -# ARGTABLE_LIBRARIES - Link these to use ARGTABLE - -find_path ( - ARGTABLE_INCLUDE_DIR - NAMES argtable2.h - DOC "argtable include dir" -) - -find_library ( - ARGTABLE_LIBRARY - NAMES argtable2 - DOC "argtable library" -) - -set(ARGTABLE_INCLUDE_DIRS ${ARGTABLE_INCLUDE_DIR}) -set(ARGTABLE_LIBRARIES ${ARGTABLE_LIBRARY}) - -# debug library on windows -# same naming convention as in qt (appending debug library with d) -# boost is using the same "hack" as us with "optimized" and "debug" -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - find_library( - ARGTABLE_LIBRARY_DEBUG - NAMES argtable2d - DOC "argtable debug library" - ) - set(ARGTABLE_LIBRARIES optimized ${ARGTABLE_LIBRARIES} debug ${ARGTABLE_LIBRARY_DEBUG}) -endif() - -# handle the QUIETLY and REQUIRED arguments and set JSONCPP_FOUND to TRUE -# if all listed variables are TRUE, hide their existence from configuration view -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(argtable DEFAULT_MSG ARGTABLE_INCLUDE_DIR ARGTABLE_LIBRARY) -mark_as_advanced (ARGTABLE_INCLUDE_DIR ARGTABLE_LIBRARY) - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindHiredis.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindHiredis.cmake deleted file mode 100755 index 79a28a984..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindHiredis.cmake +++ /dev/null @@ -1,26 +0,0 @@ -# - Try to find Hiredis -# Once done this will define -# -# HIREDIS_FOUND - system has HIREDIS -# HIREDIS_INCLUDE_DIRS - the HIREDIS include directory -# HIREDIS_LIBRARY - Link these to use HIREDIS - -find_path( - HIREDIS_INCLUDE_DIR - NAMES hiredis hiredis.h hiredis/hiredis.h - DOC "hiredis include dir" -) - -find_library( - HIREDIS_LIBRARY - NAMES hiredis libhiredis - DOC "hiredis library" -) - -set(HIREDIS_INCLUDE_DIRS ${HIREDIS_INCLUDE_DIR}) -set(HIREDIS_LIBRARIES ${HIREDIS_LIBRARY}) - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(hiredis DEFAULT_MSG HIREDIS_INCLUDE_DIR HIREDIS_LIBRARY) -mark_as_advanced(HIREDIS_INCLUDE_DIR HIREDIS_LIBRARY) - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindJsoncpp.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindJsoncpp.cmake deleted file mode 100644 index 7b2bf1ba1..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindJsoncpp.cmake +++ /dev/null @@ -1,73 +0,0 @@ -# Find jsoncpp -# -# Find the jsoncpp includes and library -# -# if you nee to add a custom library search path, do it via via CMAKE_PREFIX_PATH -# -# This module defines -# JSONCPP_INCLUDE_DIR, where to find header, etc. -# JSONCPP_LIBRARY, the libraries needed to use jsoncpp. -# JSONCPP_FOUND, If false, do not try to use jsoncpp. -# JSONCPP_INCLUDE_PREFIX, include prefix for jsoncpp. -# jsoncpp_lib_static imported library. - -# only look in default directories -find_path( - JSONCPP_INCLUDE_DIR - NAMES json/json.h jsoncpp/json/json.h - DOC "jsoncpp include dir" -) - -find_library( - JSONCPP_LIBRARY - NAMES jsoncpp - DOC "jsoncpp library" -) - -add_library(jsoncpp_lib_static UNKNOWN IMPORTED) -set_target_properties( - jsoncpp_lib_static - PROPERTIES - IMPORTED_LOCATION "${JSONCPP_LIBRARY}" - INTERFACE_INCLUDE_DIRECTORIES "${JSONCPP_INCLUDE_DIR}" -) - -# debug library on windows -# same naming convention as in qt (appending debug library with d) -# boost is using the same "hack" as us with "optimized" and "debug" -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - find_library( - JSONCPP_LIBRARY_DEBUG - NAMES jsoncppd - DOC "jsoncpp debug library" - ) - - set_target_properties( - jsoncpp_lib_static - PROPERTIES - IMPORTED_LOCATION_DEBUG "${JSONCPP_LIBRARY_DEBUG}" - ) - set(JSONCPP_LIBRARY optimized ${JSONCPP_LIBRARY} debug ${JSONCPP_LIBRARY_DEBUG}) - -endif() - -# find JSONCPP_INCLUDE_PREFIX -find_path( - JSONCPP_INCLUDE_PREFIX - NAMES json.h - PATH_SUFFIXES jsoncpp/json json -) - -if (${JSONCPP_INCLUDE_PREFIX} MATCHES "jsoncpp") - set(JSONCPP_INCLUDE_PREFIX "jsoncpp/json") -else() - set(JSONCPP_INCLUDE_PREFIX "json") -endif() - - - -# handle the QUIETLY and REQUIRED arguments and set JSONCPP_FOUND to TRUE -# if all listed variables are TRUE, hide their existence from configuration view -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(jsoncpp DEFAULT_MSG JSONCPP_INCLUDE_DIR JSONCPP_LIBRARY) -mark_as_advanced (JSONCPP_INCLUDE_DIR JSONCPP_LIBRARY) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindMHD.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindMHD.cmake deleted file mode 100755 index 23e31c444..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindMHD.cmake +++ /dev/null @@ -1,39 +0,0 @@ -# - Try to find MHD -# Once done this will define -# -# MHD_FOUND - system has MHD -# MHD_INCLUDE_DIRS - the MHD include directory -# MHD_LIBRARY - Link these to use MHD - -find_path( - MHD_INCLUDE_DIR - NAMES microhttpd.h - DOC "microhttpd include dir" -) - -find_library( - MHD_LIBRARY - NAMES microhttpd microhttpd-10 libmicrohttpd libmicrohttpd-dll - DOC "microhttpd library" -) - -set(MHD_INCLUDE_DIRS ${MHD_INCLUDE_DIR}) -set(MHD_LIBRARIES ${MHD_LIBRARY}) - -# debug library on windows -# same naming convention as in qt (appending debug library with d) -# boost is using the same "hack" as us with "optimized" and "debug" -# official MHD project actually uses _d suffix -if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - find_library( - MHD_LIBRARY_DEBUG - NAMES microhttpd_d microhttpd-10_d libmicrohttpd_d libmicrohttpd-dll_d - DOC "mhd debug library" - ) - set(MHD_LIBRARIES optimized ${MHD_LIBRARIES} debug ${MHD_LIBRARY_DEBUG}) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(mhd DEFAULT_MSG MHD_INCLUDE_DIR MHD_LIBRARY) -mark_as_advanced(MHD_INCLUDE_DIR MHD_LIBRARY) - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindSocket.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindSocket.cmake deleted file mode 100644 index f002083dc..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindSocket.cmake +++ /dev/null @@ -1,20 +0,0 @@ -# - This module determines the socket library of the system. -# The following variables are set -# Socket_LIBRARIES - the socket library -# Socket_FOUND - -if (${CMAKE_SYSTEM} MATCHES "Windows") - if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC") - set(Socket_LIBRARIES ws2_32) - else() - set(Socket_LIBRARIES wsock32 ws2_32) - endif() - set(Socket_FOUND 1) -elseif(${CMAKE_SYSTEM} MATCHES "INtime") - set(Socket_LIBRARIES netlib) - set(Socket_FOUND 1) -else() - set(Socket_LIBRARIES) - set(Socket_FOUND 1) -endif() - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindThreads.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindThreads.cmake deleted file mode 100644 index 2c7eabfab..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/FindThreads.cmake +++ /dev/null @@ -1,178 +0,0 @@ -# - This module determines the thread library of the system. -# The following variables are set -# CMAKE_THREAD_LIBS_INIT - the thread library -# CMAKE_USE_SPROC_INIT - are we using sproc? -# CMAKE_USE_WIN32_THREADS_INIT - using WIN32 threads? -# CMAKE_USE_PTHREADS_INIT - are we using pthreads -# CMAKE_HP_PTHREADS_INIT - are we using hp pthreads -# For systems with multiple thread libraries, caller can set -# CMAKE_THREAD_PREFER_PTHREAD - -#============================================================================= -# Copyright 2002-2009 Kitware, Inc. -# -# Distributed under the OSI-approved BSD License (the "License"); -# see accompanying file Copyright.txt for details. -# -# This software is distributed WITHOUT ANY WARRANTY; without even the -# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. -# See the License for more information. -#============================================================================= -# (To distribute this file outside of CMake, substitute the full -# License text for the above reference.) - -include (CheckIncludeFiles) -include (CheckLibraryExists) -include (CheckSymbolExists) -set(Threads_FOUND FALSE) - -# Do we have sproc? -if(${CMAKE_SYSTEM} MATCHES IRIX AND NOT CMAKE_THREAD_PREFER_PTHREAD) - CHECK_INCLUDE_FILES("sys/types.h;sys/prctl.h" CMAKE_HAVE_SPROC_H) -endif() - -if(CMAKE_HAVE_SPROC_H AND NOT CMAKE_THREAD_PREFER_PTHREAD) - # We have sproc - set(CMAKE_USE_SPROC_INIT 1) -else() - # Do we have pthreads? - CHECK_INCLUDE_FILES("pthread.h" CMAKE_HAVE_PTHREAD_H) - if(CMAKE_HAVE_PTHREAD_H) - - # - # We have pthread.h - # Let's check for the library now. - # - set(CMAKE_HAVE_THREADS_LIBRARY) - if(NOT THREADS_HAVE_PTHREAD_ARG) - # Check if pthread functions are in normal C library - message("CHECK_SYMBOL_EXISTS") - CHECK_SYMBOL_EXISTS(pthread_create pthread.h CMAKE_HAVE_LIBC_CREATE) - if(CMAKE_HAVE_LIBC_CREATE) - set(CMAKE_THREAD_LIBS_INIT "") - set(CMAKE_HAVE_THREADS_LIBRARY 1) - set(Threads_FOUND TRUE) - endif() - - if(NOT CMAKE_HAVE_THREADS_LIBRARY) - # Do we have -lpthreads - message("CHECK_LIBRARY_EXISTS") - CHECK_LIBRARY_EXISTS(pthreads pthread_create "" CMAKE_HAVE_PTHREADS_CREATE) - if(CMAKE_HAVE_PTHREADS_CREATE) - # set(CMAKE_THREAD_LIBS_INIT "-lpthreads") // mozart comment. - if (NOT ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "mips64" - AND NOT ${CMAKE_SYSTEM_PROCESSOR} STREQUAL "sw_64") - set(CMAKE_THREAD_LIBS_INIT "-lpthreads") - endif() - set(CMAKE_HAVE_THREADS_LIBRARY 1) - set(Threads_FOUND TRUE) - endif() - - # Ok, how about -lpthread - message("CHECK_LIBRARY_EXISTS -lpthread") - CHECK_LIBRARY_EXISTS(pthread pthread_create "" CMAKE_HAVE_PTHREAD_CREATE) - if(CMAKE_HAVE_PTHREAD_CREATE) - set(CMAKE_THREAD_LIBS_INIT "-lpthread") - set(CMAKE_HAVE_THREADS_LIBRARY 1) - set(Threads_FOUND TRUE) - endif() - - if(${CMAKE_SYSTEM} MATCHES "SunOS.*") - # On sun also check for -lthread - CHECK_LIBRARY_EXISTS(thread thr_create "" CMAKE_HAVE_THR_CREATE) - if(CMAKE_HAVE_THR_CREATE) - set(CMAKE_THREAD_LIBS_INIT "-lthread") - set(CMAKE_HAVE_THREADS_LIBRARY 1) - set(Threads_FOUND TRUE) - endif() - endif() - endif() - endif() - - if(NOT CMAKE_HAVE_THREADS_LIBRARY) - # If we did not found -lpthread, -lpthread, or -lthread, look for -pthread - if("THREADS_HAVE_PTHREAD_ARG" MATCHES "^THREADS_HAVE_PTHREAD_ARG") - message(STATUS "Check if compiler accepts -pthread") - try_run(THREADS_PTHREAD_ARG THREADS_HAVE_PTHREAD_ARG - ${CMAKE_BINARY_DIR} - ${CMAKE_ROOT}/Modules/CheckForPthreads.c - CMAKE_FLAGS -DLINK_LIBRARIES:STRING=-pthread - COMPILE_OUTPUT_VARIABLE OUTPUT) - - if(THREADS_HAVE_PTHREAD_ARG) - if(THREADS_PTHREAD_ARG STREQUAL "2") - set(Threads_FOUND TRUE) - message(STATUS "Check if compiler accepts -pthread - yes") - else() - message(STATUS "Check if compiler accepts -pthread - no") - file(APPEND - ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log - "Determining if compiler accepts -pthread returned ${THREADS_PTHREAD_ARG} instead of 2. The compiler had the following output:\n${OUTPUT}\n\n") - endif() - else() - message(STATUS "Check if compiler accepts -pthread - no") - file(APPEND - ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log - "Determining if compiler accepts -pthread failed with the following output:\n${OUTPUT}\n\n") - endif() - - endif() - - if(THREADS_HAVE_PTHREAD_ARG) - set(Threads_FOUND TRUE) - set(CMAKE_THREAD_LIBS_INIT "-pthread") - endif() - - endif() - endif() -endif() - -if(CMAKE_THREAD_LIBS_INIT OR CMAKE_HAVE_LIBC_CREATE) - set(CMAKE_USE_PTHREADS_INIT 1) - set(Threads_FOUND TRUE) -endif() - -if(${CMAKE_SYSTEM} MATCHES "Windows") - set(CMAKE_USE_WIN32_THREADS_INIT 1) - set(Threads_FOUND TRUE) -endif() - -if(CMAKE_USE_PTHREADS_INIT) - if(${CMAKE_SYSTEM} MATCHES "HP-UX-*") - # Use libcma if it exists and can be used. It provides more - # symbols than the plain pthread library. CMA threads - # have actually been deprecated: - # http://docs.hp.com/en/B3920-90091/ch12s03.html#d0e11395 - # http://docs.hp.com/en/947/d8.html - # but we need to maintain compatibility here. - # The CMAKE_HP_PTHREADS setting actually indicates whether CMA threads - # are available. - CHECK_LIBRARY_EXISTS(cma pthread_attr_create "" CMAKE_HAVE_HP_CMA) - if(CMAKE_HAVE_HP_CMA) - set(CMAKE_THREAD_LIBS_INIT "-lcma") - set(CMAKE_HP_PTHREADS_INIT 1) - set(Threads_FOUND TRUE) - endif() - set(CMAKE_USE_PTHREADS_INIT 1) - endif() - - if(${CMAKE_SYSTEM} MATCHES "OSF1-V*") - set(CMAKE_USE_PTHREADS_INIT 0) - set(CMAKE_THREAD_LIBS_INIT ) - endif() - - if(${CMAKE_SYSTEM} MATCHES "CYGWIN_NT*") - set(CMAKE_USE_PTHREADS_INIT 1) - set(Threads_FOUND TRUE) - set(CMAKE_THREAD_LIBS_INIT ) - set(CMAKE_USE_WIN32_THREADS_INIT 0) - endif() -endif() - -if(${CMAKE_SYSTEM} MATCHES "INtime") - set(Threads_FOUND TRUE) - set(CMAKE_THREAD_LIBS_INIT "iwin32") -endif() - -include(FindPackageHandleStandardArgs) -FIND_PACKAGE_HANDLE_STANDARD_ARGS(Threads DEFAULT_MSG Threads_FOUND) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/HunterGate.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/HunterGate.cmake deleted file mode 100644 index 8f8fed6f2..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/HunterGate.cmake +++ /dev/null @@ -1,528 +0,0 @@ -# Copyright (c) 2013-2017, Ruslan Baratov -# All rights reserved. -# -# Redistribution and use in source and binary forms, with or without -# modification, are permitted provided that the following conditions are met: -# -# * Redistributions of source code must retain the above copyright notice, this -# list of conditions and the following disclaimer. -# -# * Redistributions in binary form must reproduce the above copyright notice, -# this list of conditions and the following disclaimer in the documentation -# and/or other materials provided with the distribution. -# -# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" -# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE -# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE -# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE -# FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL -# DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR -# SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER -# CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, -# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE -# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - -# This is a gate file to Hunter package manager. -# Include this file using `include` command and add package you need, example: -# -# cmake_minimum_required(VERSION 3.0) -# -# include("cmake/HunterGate.cmake") -# HunterGate( -# URL "https://github.com/path/to/hunter/archive.tar.gz" -# SHA1 "798501e983f14b28b10cda16afa4de69eee1da1d" -# ) -# -# project(MyProject) -# -# hunter_add_package(Foo) -# hunter_add_package(Boo COMPONENTS Bar Baz) -# -# Projects: -# * https://github.com/hunter-packages/gate/ -# * https://github.com/ruslo/hunter - -option(HUNTER_ENABLED "Enable Hunter package manager support" ON) -if(HUNTER_ENABLED) - if(CMAKE_VERSION VERSION_LESS "3.0") - message(FATAL_ERROR "At least CMake version 3.0 required for hunter dependency management." - " Update CMake or set HUNTER_ENABLED to OFF.") - endif() -endif() - -include(CMakeParseArguments) # cmake_parse_arguments - -option(HUNTER_STATUS_PRINT "Print working status" ON) -option(HUNTER_STATUS_DEBUG "Print a lot info" OFF) - -set(HUNTER_WIKI "https://github.com/ruslo/hunter/wiki") - -function(hunter_gate_status_print) - foreach(print_message ${ARGV}) - if(HUNTER_STATUS_PRINT OR HUNTER_STATUS_DEBUG) - message(STATUS "[hunter] ${print_message}") - endif() - endforeach() -endfunction() - -function(hunter_gate_status_debug) - foreach(print_message ${ARGV}) - if(HUNTER_STATUS_DEBUG) - string(TIMESTAMP timestamp) - message(STATUS "[hunter *** DEBUG *** ${timestamp}] ${print_message}") - endif() - endforeach() -endfunction() - -function(hunter_gate_wiki wiki_page) - message("------------------------------ WIKI -------------------------------") - message(" ${HUNTER_WIKI}/${wiki_page}") - message("-------------------------------------------------------------------") - message("") - message(FATAL_ERROR "") -endfunction() - -function(hunter_gate_internal_error) - message("") - foreach(print_message ${ARGV}) - message("[hunter ** INTERNAL **] ${print_message}") - endforeach() - message("[hunter ** INTERNAL **] [Directory:${CMAKE_CURRENT_LIST_DIR}]") - message("") - hunter_gate_wiki("error.internal") -endfunction() - -function(hunter_gate_fatal_error) - cmake_parse_arguments(hunter "" "WIKI" "" "${ARGV}") - string(COMPARE EQUAL "${hunter_WIKI}" "" have_no_wiki) - if(have_no_wiki) - hunter_gate_internal_error("Expected wiki") - endif() - message("") - foreach(x ${hunter_UNPARSED_ARGUMENTS}) - message("[hunter ** FATAL ERROR **] ${x}") - endforeach() - message("[hunter ** FATAL ERROR **] [Directory:${CMAKE_CURRENT_LIST_DIR}]") - message("") - hunter_gate_wiki("${hunter_WIKI}") -endfunction() - -function(hunter_gate_user_error) - hunter_gate_fatal_error(${ARGV} WIKI "error.incorrect.input.data") -endfunction() - -function(hunter_gate_self root version sha1 result) - string(COMPARE EQUAL "${root}" "" is_bad) - if(is_bad) - hunter_gate_internal_error("root is empty") - endif() - - string(COMPARE EQUAL "${version}" "" is_bad) - if(is_bad) - hunter_gate_internal_error("version is empty") - endif() - - string(COMPARE EQUAL "${sha1}" "" is_bad) - if(is_bad) - hunter_gate_internal_error("sha1 is empty") - endif() - - string(SUBSTRING "${sha1}" 0 7 archive_id) - - if(EXISTS "${root}/cmake/Hunter") - set(hunter_self "${root}") - else() - set( - hunter_self - "${root}/_Base/Download/Hunter/${version}/${archive_id}/Unpacked" - ) - endif() - - set("${result}" "${hunter_self}" PARENT_SCOPE) -endfunction() - -# Set HUNTER_GATE_ROOT cmake variable to suitable value. -function(hunter_gate_detect_root) - # Check CMake variable - string(COMPARE NOTEQUAL "${HUNTER_ROOT}" "" not_empty) - if(not_empty) - set(HUNTER_GATE_ROOT "${HUNTER_ROOT}" PARENT_SCOPE) - hunter_gate_status_debug("HUNTER_ROOT detected by cmake variable") - return() - endif() - - # Check environment variable - string(COMPARE NOTEQUAL "$ENV{HUNTER_ROOT}" "" not_empty) - if(not_empty) - set(HUNTER_GATE_ROOT "$ENV{HUNTER_ROOT}" PARENT_SCOPE) - hunter_gate_status_debug("HUNTER_ROOT detected by environment variable") - return() - endif() - - # Check HOME environment variable - string(COMPARE NOTEQUAL "$ENV{HOME}" "" result) - if(result) - set(HUNTER_GATE_ROOT "$ENV{HOME}/.hunter" PARENT_SCOPE) - hunter_gate_status_debug("HUNTER_ROOT set using HOME environment variable") - return() - endif() - - # Check SYSTEMDRIVE and USERPROFILE environment variable (windows only) - if(WIN32) - string(COMPARE NOTEQUAL "$ENV{SYSTEMDRIVE}" "" result) - if(result) - set(HUNTER_GATE_ROOT "$ENV{SYSTEMDRIVE}/.hunter" PARENT_SCOPE) - hunter_gate_status_debug( - "HUNTER_ROOT set using SYSTEMDRIVE environment variable" - ) - return() - endif() - - string(COMPARE NOTEQUAL "$ENV{USERPROFILE}" "" result) - if(result) - set(HUNTER_GATE_ROOT "$ENV{USERPROFILE}/.hunter" PARENT_SCOPE) - hunter_gate_status_debug( - "HUNTER_ROOT set using USERPROFILE environment variable" - ) - return() - endif() - endif() - - hunter_gate_fatal_error( - "Can't detect HUNTER_ROOT" - WIKI "error.detect.hunter.root" - ) -endfunction() - -macro(hunter_gate_lock dir) - if(NOT HUNTER_SKIP_LOCK) - if("${CMAKE_VERSION}" VERSION_LESS "3.2") - hunter_gate_fatal_error( - "Can't lock, upgrade to CMake 3.2 or use HUNTER_SKIP_LOCK" - WIKI "error.can.not.lock" - ) - endif() - hunter_gate_status_debug("Locking directory: ${dir}") - file(LOCK "${dir}" DIRECTORY GUARD FUNCTION) - hunter_gate_status_debug("Lock done") - endif() -endmacro() - -function(hunter_gate_download dir) - string( - COMPARE - NOTEQUAL - "$ENV{HUNTER_DISABLE_AUTOINSTALL}" - "" - disable_autoinstall - ) - if(disable_autoinstall AND NOT HUNTER_RUN_INSTALL) - hunter_gate_fatal_error( - "Hunter not found in '${dir}'" - "Set HUNTER_RUN_INSTALL=ON to auto-install it from '${HUNTER_GATE_URL}'" - "Settings:" - " HUNTER_ROOT: ${HUNTER_GATE_ROOT}" - " HUNTER_SHA1: ${HUNTER_GATE_SHA1}" - WIKI "error.run.install" - ) - endif() - string(COMPARE EQUAL "${dir}" "" is_bad) - if(is_bad) - hunter_gate_internal_error("Empty 'dir' argument") - endif() - - string(COMPARE EQUAL "${HUNTER_GATE_SHA1}" "" is_bad) - if(is_bad) - hunter_gate_internal_error("HUNTER_GATE_SHA1 empty") - endif() - - string(COMPARE EQUAL "${HUNTER_GATE_URL}" "" is_bad) - if(is_bad) - hunter_gate_internal_error("HUNTER_GATE_URL empty") - endif() - - set(done_location "${dir}/DONE") - set(sha1_location "${dir}/SHA1") - - set(build_dir "${dir}/Build") - set(cmakelists "${dir}/CMakeLists.txt") - - hunter_gate_lock("${dir}") - if(EXISTS "${done_location}") - # while waiting for lock other instance can do all the job - hunter_gate_status_debug("File '${done_location}' found, skip install") - return() - endif() - - file(REMOVE_RECURSE "${build_dir}") - file(REMOVE_RECURSE "${cmakelists}") - - file(MAKE_DIRECTORY "${build_dir}") # check directory permissions - - # Disabling languages speeds up a little bit, reduces noise in the output - # and avoids path too long windows error - file( - WRITE - "${cmakelists}" - "cmake_minimum_required(VERSION 3.0)\n" - "project(HunterDownload LANGUAGES NONE)\n" - "include(ExternalProject)\n" - "ExternalProject_Add(\n" - " Hunter\n" - " URL\n" - " \"${HUNTER_GATE_URL}\"\n" - " URL_HASH\n" - " SHA1=${HUNTER_GATE_SHA1}\n" - " DOWNLOAD_DIR\n" - " \"${dir}\"\n" - " SOURCE_DIR\n" - " \"${dir}/Unpacked\"\n" - " CONFIGURE_COMMAND\n" - " \"\"\n" - " BUILD_COMMAND\n" - " \"\"\n" - " INSTALL_COMMAND\n" - " \"\"\n" - ")\n" - ) - - if(HUNTER_STATUS_DEBUG) - set(logging_params "") - else() - set(logging_params OUTPUT_QUIET) - endif() - - hunter_gate_status_debug("Run generate") - - # Need to add toolchain file too. - # Otherwise on Visual Studio + MDD this will fail with error: - # "Could not find an appropriate version of the Windows 10 SDK installed on this machine" - if(EXISTS "${CMAKE_TOOLCHAIN_FILE}") - set(toolchain_arg "-DCMAKE_TOOLCHAIN_FILE=${CMAKE_TOOLCHAIN_FILE}") - else() - # 'toolchain_arg' can't be empty - set(toolchain_arg "-DCMAKE_TOOLCHAIN_FILE=") - endif() - - string(COMPARE EQUAL "${CMAKE_MAKE_PROGRAM}" "" no_make) - if(no_make) - set(make_arg "") - else() - # Test case: remove Ninja from PATH but set it via CMAKE_MAKE_PROGRAM - set(make_arg "-DCMAKE_MAKE_PROGRAM=${CMAKE_MAKE_PROGRAM}") - endif() - - execute_process( - COMMAND - "${CMAKE_COMMAND}" - "-H${dir}" - "-B${build_dir}" - "-G${CMAKE_GENERATOR}" - "${toolchain_arg}" - ${make_arg} - WORKING_DIRECTORY "${dir}" - RESULT_VARIABLE download_result - ${logging_params} - ) - - if(NOT download_result EQUAL 0) - hunter_gate_internal_error("Configure project failed") - endif() - - hunter_gate_status_print( - "Initializing Hunter workspace (${HUNTER_GATE_SHA1})" - " ${HUNTER_GATE_URL}" - " -> ${dir}" - ) - execute_process( - COMMAND "${CMAKE_COMMAND}" --build "${build_dir}" - WORKING_DIRECTORY "${dir}" - RESULT_VARIABLE download_result - ${logging_params} - ) - - if(NOT download_result EQUAL 0) - hunter_gate_internal_error("Build project failed") - endif() - - file(REMOVE_RECURSE "${build_dir}") - file(REMOVE_RECURSE "${cmakelists}") - - file(WRITE "${sha1_location}" "${HUNTER_GATE_SHA1}") - file(WRITE "${done_location}" "DONE") - - hunter_gate_status_debug("Finished") -endfunction() - -# Must be a macro so master file 'cmake/Hunter' can -# apply all variables easily just by 'include' command -# (otherwise PARENT_SCOPE magic needed) -macro(HunterGate) - if(HUNTER_GATE_DONE) - # variable HUNTER_GATE_DONE set explicitly for external project - # (see `hunter_download`) - set_property(GLOBAL PROPERTY HUNTER_GATE_DONE YES) - endif() - - # First HunterGate command will init Hunter, others will be ignored - get_property(_hunter_gate_done GLOBAL PROPERTY HUNTER_GATE_DONE SET) - - if(NOT HUNTER_ENABLED) - # Empty function to avoid error "unknown function" - function(hunter_add_package) - endfunction() - elseif(_hunter_gate_done) - hunter_gate_status_debug("Secondary HunterGate (use old settings)") - hunter_gate_self( - "${HUNTER_CACHED_ROOT}" - "${HUNTER_VERSION}" - "${HUNTER_SHA1}" - _hunter_self - ) - include("${_hunter_self}/cmake/Hunter") - else() - set(HUNTER_GATE_LOCATION "${CMAKE_CURRENT_LIST_DIR}") - - string(COMPARE NOTEQUAL "${PROJECT_NAME}" "" _have_project_name) - if(_have_project_name) - hunter_gate_fatal_error( - "Please set HunterGate *before* 'project' command. " - "Detected project: ${PROJECT_NAME}" - WIKI "error.huntergate.before.project" - ) - endif() - - cmake_parse_arguments( - HUNTER_GATE "LOCAL" "URL;SHA1;GLOBAL;FILEPATH" "" ${ARGV} - ) - - string(COMPARE EQUAL "${HUNTER_GATE_SHA1}" "" _empty_sha1) - string(COMPARE EQUAL "${HUNTER_GATE_URL}" "" _empty_url) - string( - COMPARE - NOTEQUAL - "${HUNTER_GATE_UNPARSED_ARGUMENTS}" - "" - _have_unparsed - ) - string(COMPARE NOTEQUAL "${HUNTER_GATE_GLOBAL}" "" _have_global) - string(COMPARE NOTEQUAL "${HUNTER_GATE_FILEPATH}" "" _have_filepath) - - if(_have_unparsed) - hunter_gate_user_error( - "HunterGate unparsed arguments: ${HUNTER_GATE_UNPARSED_ARGUMENTS}" - ) - endif() - if(_empty_sha1) - hunter_gate_user_error("SHA1 suboption of HunterGate is mandatory") - endif() - if(_empty_url) - hunter_gate_user_error("URL suboption of HunterGate is mandatory") - endif() - if(_have_global) - if(HUNTER_GATE_LOCAL) - hunter_gate_user_error("Unexpected LOCAL (already has GLOBAL)") - endif() - if(_have_filepath) - hunter_gate_user_error("Unexpected FILEPATH (already has GLOBAL)") - endif() - endif() - if(HUNTER_GATE_LOCAL) - if(_have_global) - hunter_gate_user_error("Unexpected GLOBAL (already has LOCAL)") - endif() - if(_have_filepath) - hunter_gate_user_error("Unexpected FILEPATH (already has LOCAL)") - endif() - endif() - if(_have_filepath) - if(_have_global) - hunter_gate_user_error("Unexpected GLOBAL (already has FILEPATH)") - endif() - if(HUNTER_GATE_LOCAL) - hunter_gate_user_error("Unexpected LOCAL (already has FILEPATH)") - endif() - endif() - - hunter_gate_detect_root() # set HUNTER_GATE_ROOT - - # Beautify path, fix probable problems with windows path slashes - get_filename_component( - HUNTER_GATE_ROOT "${HUNTER_GATE_ROOT}" ABSOLUTE - ) - hunter_gate_status_debug("HUNTER_ROOT: ${HUNTER_GATE_ROOT}") - if(NOT HUNTER_ALLOW_SPACES_IN_PATH) - string(FIND "${HUNTER_GATE_ROOT}" " " _contain_spaces) - if(NOT _contain_spaces EQUAL -1) - hunter_gate_fatal_error( - "HUNTER_ROOT (${HUNTER_GATE_ROOT}) contains spaces." - "Set HUNTER_ALLOW_SPACES_IN_PATH=ON to skip this error" - "(Use at your own risk!)" - WIKI "error.spaces.in.hunter.root" - ) - endif() - endif() - - string( - REGEX - MATCH - "[0-9]+\\.[0-9]+\\.[0-9]+[-_a-z0-9]*" - HUNTER_GATE_VERSION - "${HUNTER_GATE_URL}" - ) - string(COMPARE EQUAL "${HUNTER_GATE_VERSION}" "" _is_empty) - if(_is_empty) - set(HUNTER_GATE_VERSION "unknown") - endif() - - hunter_gate_self( - "${HUNTER_GATE_ROOT}" - "${HUNTER_GATE_VERSION}" - "${HUNTER_GATE_SHA1}" - _hunter_self - ) - - set(_master_location "${_hunter_self}/cmake/Hunter") - if(EXISTS "${HUNTER_GATE_ROOT}/cmake/Hunter") - # Hunter downloaded manually (e.g. by 'git clone') - set(_unused "xxxxxxxxxx") - set(HUNTER_GATE_SHA1 "${_unused}") - set(HUNTER_GATE_VERSION "${_unused}") - else() - get_filename_component(_archive_id_location "${_hunter_self}/.." ABSOLUTE) - set(_done_location "${_archive_id_location}/DONE") - set(_sha1_location "${_archive_id_location}/SHA1") - - # Check Hunter already downloaded by HunterGate - if(NOT EXISTS "${_done_location}") - hunter_gate_download("${_archive_id_location}") - endif() - - if(NOT EXISTS "${_done_location}") - hunter_gate_internal_error("hunter_gate_download failed") - endif() - - if(NOT EXISTS "${_sha1_location}") - hunter_gate_internal_error("${_sha1_location} not found") - endif() - file(READ "${_sha1_location}" _sha1_value) - string(COMPARE EQUAL "${_sha1_value}" "${HUNTER_GATE_SHA1}" _is_equal) - if(NOT _is_equal) - hunter_gate_internal_error( - "Short SHA1 collision:" - " ${_sha1_value} (from ${_sha1_location})" - " ${HUNTER_GATE_SHA1} (HunterGate)" - ) - endif() - if(NOT EXISTS "${_master_location}") - hunter_gate_user_error( - "Master file not found:" - " ${_master_location}" - "try to update Hunter/HunterGate" - ) - endif() - endif() - include("${_master_location}") - set_property(GLOBAL PROPERTY HUNTER_GATE_DONE YES) - endif() -endmacro() diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/cmake_uninstall.cmake.in b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/cmake_uninstall.cmake.in deleted file mode 100644 index 6a597a393..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/cmake_uninstall.cmake.in +++ /dev/null @@ -1,25 +0,0 @@ - -cmake_policy(SET CMP0007 NEW) - -if (NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - message(FATAL_ERROR "Cannot find install manifest: \"@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt\"") -endif(NOT EXISTS "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt") - -file(READ "@CMAKE_CURRENT_BINARY_DIR@/install_manifest.txt" files) -string(REGEX REPLACE "\n" ";" files "${files}") -list(REVERSE files) -foreach (file ${files}) - message(STATUS "Uninstalling \"$ENV{DESTDIR}${file}\"") - if (EXISTS "$ENV{DESTDIR}${file}") - execute_process( - COMMAND @CMAKE_COMMAND@ -E remove "$ENV{DESTDIR}${file}" - OUTPUT_VARIABLE rm_out - RESULT_VARIABLE rm_retval - ) - if (NOT ${rm_retval} EQUAL 0) - message(FATAL_ERROR "Problem when removing \"$ENV{DESTDIR}${file}\"") - endif (NOT ${rm_retval} EQUAL 0) - else (EXISTS "$ENV{DESTDIR}${file}") - message(STATUS "File \"$ENV{DESTDIR}${file}\" does not exist.") - endif (EXISTS "$ENV{DESTDIR}${file}") -endforeach(file) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/cross-mingw32-linux.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/cross-mingw32-linux.cmake deleted file mode 100644 index 650cf462e..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/cross-mingw32-linux.cmake +++ /dev/null @@ -1,32 +0,0 @@ -# the name of the target operating system -set(CMAKE_SYSTEM_NAME Windows) - -# Choose an appropriate compiler prefix - -# for classical mingw32 -# see http://www.mingw.org/ -#set(COMPILER_PREFIX "i586-mingw32msvc") - -# for 32 or 64 bits mingw-w64 -# see http://mingw-w64.sourceforge.net/ -set(COMPILER_PREFIX "i586-mingw32msvc") -#set(COMPILER_PREFIX "x86_64-w64-mingw32" - -# which compilers to use for C and C++ -find_program(CMAKE_RC_COMPILER NAMES ${COMPILER_PREFIX}-windres) -#SET(CMAKE_RC_COMPILER ${COMPILER_PREFIX}-windres) -find_program(CMAKE_C_COMPILER NAMES ${COMPILER_PREFIX}-gcc) -#SET(CMAKE_C_COMPILER ${COMPILER_PREFIX}-gcc) -find_program(CMAKE_CXX_COMPILER NAMES ${COMPILER_PREFIX}-g++) -#SET(CMAKE_CXX_COMPILER ${COMPILER_PREFIX}-g++) - - -# here is the target environment located -set(CMAKE_FIND_ROOT_PATH /usr/${COMPILER_PREFIX}) - -# adjust the default behaviour of the FIND_XXX() commands: -# search headers and libraries in the target environment, search -# programs in the host environment -set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) -set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) -set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjson-rpc-cppConfig.cmake.in b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjson-rpc-cppConfig.cmake.in deleted file mode 100644 index 0d647cf78..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjson-rpc-cppConfig.cmake.in +++ /dev/null @@ -1,23 +0,0 @@ -@PACKAGE_INIT@ - -include(CMakeFindDependencyMacro) - -find_dependency(Threads) - -if(@HUNTER_ENABLED@) - find_package(jsoncpp CONFIG REQUIRED) -endif() - -if(@HTTP_CLIENT@) - if(@HUNTER_ENABLED@) - find_package(CURL CONFIG REQUIRED) - else() - find_dependency(CURL) - endif() -endif() - -if(@HTTP_SERVER@) - find_dependency(MHD) -endif() - -include(${CMAKE_CURRENT_LIST_DIR}/libjson-rpc-cppTargets.cmake) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-client.pc.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-client.pc.cmake deleted file mode 100644 index f88f32620..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-client.pc.cmake +++ /dev/null @@ -1,5 +0,0 @@ -Name: libjsonrpccpp-client -Description: A C++ client implementation of json-rpc. -Version: ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} -Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -ljsoncpp -ljsonrpccpp-common -ljsonrpccpp-client ${CLIENT_LIBS} -Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR} diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-common.pc.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-common.pc.cmake deleted file mode 100644 index e3c193d51..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-common.pc.cmake +++ /dev/null @@ -1,5 +0,0 @@ -Name: libjsonrpccpp-common -Description: Common libraries for libjson-rpc-cpp -Version: ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} -Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -ljsoncpp -Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR} diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-server.pc.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-server.pc.cmake deleted file mode 100644 index b493fb3f4..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-server.pc.cmake +++ /dev/null @@ -1,5 +0,0 @@ -Name: libjsonrpccpp-server -Description: A C++ server implementation of json-rpc. -Version: ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} -Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -ljsoncpp -ljsonrpccpp-common -ljsonrpccpp-server ${SERVER_LIBS} -Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR} diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-stub.pc.cmake b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-stub.pc.cmake deleted file mode 100644 index a2dc903d1..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/cmake/libjsonrpccpp-stub.pc.cmake +++ /dev/null @@ -1,5 +0,0 @@ -Name: libjsonrpccpp-stub -Description: library for stub-generation of libjson-rpc-cpp servers/clients. -Version: ${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH_VERSION} -Libs: -L${CMAKE_INSTALL_FULL_LIBDIR} -ljsoncpp -ljsonrpccpp-common -Cflags: -I${CMAKE_INSTALL_FULL_INCLUDEDIR} diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/codecov.yml b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/codecov.yml deleted file mode 100644 index edc6c32e5..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/codecov.yml +++ /dev/null @@ -1,5 +0,0 @@ -coverage: - ignore: - - src/test/.* - - src/examples/.* - - src/catch2/.* diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo.png b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo.png deleted file mode 100644 index 011575078..000000000 Binary files a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo.png and /dev/null differ diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo.svg b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo.svg deleted file mode 100644 index 889ae1a5d..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo.svg +++ /dev/null @@ -1,122 +0,0 @@ - - - - - - - - - - - - - - - image/svg+xml - - - - - - - - JSONRPCC++ - lib - - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo_small.png b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo_small.png deleted file mode 100644 index 210c47b7e..000000000 Binary files a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/logo_small.png and /dev/null differ diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/overview.dia b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/overview.dia deleted file mode 100644 index e42b21701..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/overview.dia +++ /dev/null @@ -1,1473 +0,0 @@ - - - - - - - - - - - - - #Letter# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## - - - #libjsonrpccpp-client# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## - - - #libjsonrpccpp-server# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #spec.json -{ - add() -}# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #jsonrpcstub# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Client Connector# - - - - - - - - - - - - - - - - - - - - ## - - - ## - - - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Server Connector# - - - - - - - - - - - - - - - - - - - - ## - - - ## - - - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #AbstractServerStub# - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #addInterface# - - - ## - - - ## - - - - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #ClientStub# - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #add# - - - ## - - - ## - - - - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #ServerApplication# - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #add# - - - ## - - - ## - - - - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Client Application# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - ## - - - ## - - - - - - - - - - - - - - - - - - - - #RPC-Call# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Implement abstract methods# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #generates Stubs# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Your application# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #Generated code# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #libsjson-rpc-cpp# - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/overview.png b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/overview.png deleted file mode 100644 index 7ba1c9c17..000000000 Binary files a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/dev/artwork/overview.png and /dev/null differ diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/doc/doxyfile.in b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/doc/doxyfile.in deleted file mode 100644 index 8bbf39294..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/doc/doxyfile.in +++ /dev/null @@ -1,23 +0,0 @@ -DOXYFILE_ENCODING = UTF-8 - -PROJECT_NAME = libjson-rpc-cpp -PROJECT_NUMBER = @MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_VERSION@ -PROJECT_LOGO = @CMAKE_SOURCE_DIR@/dev/artwork/logo_small.png - -PROJECT_BRIEF = - -FILE_PATTERNS = *.cpp *.h -INPUT = @CMAKE_SOURCE_DIR@/README.md @CMAKE_SOURCE_DIR@/src/jsonrpccpp @CMAKE_SOURCE_DIR@/src/stubgenerator -RECURSIVE = TRUE -EXCLUDE_PATTERN = */test/* -USE_MDFILE_AS_MAINPAGE = README.md - - -OUTPUT_LANGUAGE = English - -GENERATE_TREEVIEW = YES - - -BRIEF_MEMBER_DESC = YES - - diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/doc/manpage.in b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/doc/manpage.in deleted file mode 100644 index f1d5e231f..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/doc/manpage.in +++ /dev/null @@ -1,125 +0,0 @@ -.\" Manpage for jsonrpcstub. -.\" Contact psk@autistici.org to correct errors or typos. -.TH man 1 "22 April 2017" "@MAJOR_VERSION@.@MINOR_VERSION@.@PATCH_VERSION@" "jsonrpcstub man page" -.SH NAME -jsonrpcstub \- genearate stubs for the libjson\-rpc\-cpp framework. -.SH SYNOPSIS -.B -jsonrpcstub specfile.json [\-\-cpp\-server=namespace::ClassName] - [\-\-cpp\-server\-file=classqname.h] [\-\-cpp\-client=namespace::ClassName] -[\-\-cpp\-client-file=classname.h] [\-\-js\-client=ClassName] -[\-\-js-client-file=classname.js] [\-\-py\-client=ClassName] -[\-\-py\-client\-file=classname.py] [\-h] [\-v] [\-\-version] -.PP - -.SH DESCRIPTION -.PP -jsonrpcstub is a tool to generate C++, JavaScript, and Python classes from a procedure specification file. -.SS SPECIFICATION SYNTAX -.PP -The specifictaion file is a JSON file containing all available JSON\-RPC methods and notifications -with their corresponding parameters and return values contained in a top\-level JSON array. -.PP -.nf -[ - { - "name": "method_with_positional_params", - "params": [3,4], - "returns": 7 - }, - { - "name": "method_with_named_params", - "params": {"param1": 3, "param2": 4}, - "returns": 7 - }, - { - "name": "notification_without_parmas" - } -] -.fi - -.PP -The literal in each \fB"params"\fP and \fB"returns"\fP section defines the corresponding type. -If the \fb"params"\fP contains an array, the parameters are accepted by position, -if it contains an object, they are accepted by name. - -.SH OPTIONS -.IP \-h -Print usage information. -.IP \-v -Print verbose information during generation. -.IP \-\-version -Print version info and exit. -.IP \-\-cpp\-server=ClassName -Creates a Abstract Server class. Namespaces can be provided using the :: notation -(e.g. ns1::ns2::Classname). -.IP \-\-cpp\-server\-file=filename.h -Defines the filename to use when generating the C++ Abstract Server class. -If this is not provided, the lowercase classname is used. -.IP \-\-cpp\-client=ClassName -Creates a C++ client class. Namespaces can be provided using the :: notation -(e.g. ns1::ns2::Classname). -.IP \-\-cpp\-client\-file=filename.h -Defines the filename to use when generating the C++ client class. -If this is not provided, the lowercase classname is used. -.IP \-\-js\-client=ClassName -Creates a JavaScript client class. No namespaces are supported in this option. -.IP \-\-js\-client-file=filename.js -Defines the filename to use when generating the JavaScript client class. -.IP \-\-py\-client=ClassName -Creates a Python client class. No namespaces are supported in this option. -.IP \-\-py\-client\-file=filename.py -Defines the filename to use when generating the Python client class. -If this is not provided, the lowercase classname is used. - -.SH EXAMPLES -.PP -Generate C++ Stubs for Server and Client, the classes will be named AbstractStubServer and StubClient: -.IP -.B -\&jsonrpcstub spec.json \-\-cpp\-server=AbstractStubServer \-\-cpp\-client=StubClient -.B -.PP -Generate JavaScript Client class MyRpcClient into file someclient.js: -.IP -.B -\&jsonrpcstub spec.json \-\-js\-client=MyRpcClient \-\-js\-client\-file=someclient.js -.B -.PP -Generate Python client class StubClient, which will be saved into stubclient.py -.IP -.B -\&jsonrpcstub spec.json \-\-py\-client=StubClient -.B -.PP - -.SH EXIT STATUS -This command returns 0 if no error occurred. In any other case, it returns 1. -.SH SEE ALSO -https://github.com/cinemast/libjson\-rpc\-cpp -.SH BUGS -No known bugs. Please report found bugs as an issue on github or send me an email. - -.SH COPYRIGHT - -Copyright (C) 2011\-2017 Peter Spiess\-Knafl - -Permission is hereby granted, free of charge, to any person obtaining a copy of -this software and associated documentation files (the "Software"), to deal in the -Software without restriction, including without limitation the rights to -use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of -the Software, and to permit persons to whom the Software is furnished to do so, -subject to the following conditions: - -The above copyright notice and this permission notice shall be included in all -copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, -INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR -PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, -TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE -OR OTHER DEALINGS IN THE SOFTWARE. - -.SH AUTHOR -Peter Spiess\-Knafl (dev@spiessknafl.at) diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/ArchLinux.Dockerfile b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/ArchLinux.Dockerfile deleted file mode 100644 index 37cfd9377..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/ArchLinux.Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM archlinux:latest -MAINTAINER Peter Spiess-Knafl -ENV OS=archlinux -RUN mkdir /app -COPY docker/deps-archlinux.sh /app -RUN chmod a+x /app/deps-archlinux.sh -RUN /app/deps-archlinux.sh -COPY docker/build_test_install.sh /app -COPY . /app -RUN chmod a+x /app/build_test_install.sh -RUN cd /app && ./build_test_install.sh diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/Debian.Dockerfile b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/Debian.Dockerfile deleted file mode 100644 index 53c3d2fc0..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/Debian.Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM debian:latest -MAINTAINER Peter Spiess-Knafl -ENV OS=debian -RUN mkdir /app -COPY docker/deps-debian.sh /app -RUN chmod a+x /app/deps-debian.sh -RUN /app/deps-debian.sh -COPY docker/build_test_install.sh /app -COPY . /app -RUN chmod a+x /app/build_test_install.sh -RUN cd /app && ./build_test_install.sh diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/Fedora.Dockerfile b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/Fedora.Dockerfile deleted file mode 100644 index cdc4b1ab1..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/Fedora.Dockerfile +++ /dev/null @@ -1,11 +0,0 @@ -FROM fedora:latest -MAINTAINER Peter Spiess-Knafl -ENV OS=fedora -RUN mkdir /app -COPY docker/deps-fedora.sh /app -RUN chmod a+x /app/deps-fedora.sh -RUN /app/deps-fedora.sh -COPY docker/build_test_install.sh /app -COPY . /app -RUN chmod a+x /app/build_test_install.sh -RUN cd /app && ./build_test_install.sh diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/build_test_install.sh b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/build_test_install.sh deleted file mode 100755 index 8bbcd7a35..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/build_test_install.sh +++ /dev/null @@ -1,55 +0,0 @@ -#!/bin/bash -set -evu - -PREFIX=/usr/local - -if [ "$OS" == "archlinux" ] || [ "$OS" == "fedora" ] -then - PREFIX=/usr -fi - -CLIENT_LIBS="-ljsoncpp -lcurl -ljsonrpccpp-common -ljsonrpccpp-client -lhiredis" -SERVER_LIBS="-ljsoncpp -lmicrohttpd -ljsonrpccpp-common -ljsonrpccpp-server -lhiredis" -mkdir -p build && cd build - -echo "PREFIX: $PREFIX" -cmake -DCMAKE_INSTALL_PREFIX="$PREFIX" -DWITH_COVERAGE=YES -DCMAKE_BUILD_TYPE=Release \ - -DBUILD_STATIC_LIBS=ON -DTCP_SOCKET_SERVER=YES -DTCP_SOCKET_CLIENT=YES \ - -DBUILD_SHARED_LIBS=ON -DUNIX_DOMAIN_SOCKET_SERVER=NO -DUNIX_DOMAIN_SOCKET_CLIENT=NO .. - -make - -echo "Running test suite" -./bin/unit_testsuite --durations yes - -if [ "$OS" != "osx" ] -then - make install - ldconfig -else - sudo make install -fi - -cd ../src/examples -g++ -std=c++11 simpleclient.cpp $CLIENT_LIBS -o simpleclient -g++ -std=c++11 simpleserver.cpp $SERVER_LIBS -o simpleserver - -mkdir -p gen && cd gen -jsonrpcstub ../spec.json --cpp-server=AbstractStubServer --cpp-client=StubClient -cd .. -g++ -std=c++11 stubclient.cpp $CLIENT_LIBS -o stubclient -g++ -std=c++11 stubserver.cpp $SERVER_LIBS -o stubserver - -test -f simpleclient -test -f simpleserver -test -f stubserver -test -f stubclient - -cd ../../build - -if [ "$OS" != "osx" ] -then - make uninstall -else - sudo make uninstall -fi diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-archlinux.sh b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-archlinux.sh deleted file mode 100755 index 677cfaf4d..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-archlinux.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/bash -set -evu -pacman -Syyu --noconfirm \ - sudo \ - sed \ - grep \ - awk \ - fakeroot \ - wget \ - cmake \ - make \ - gcc \ - git \ - jsoncpp \ - libmicrohttpd \ - curl \ - hiredis \ - redis \ - argtable \ - p11-kit \ No newline at end of file diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-debian.sh b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-debian.sh deleted file mode 100755 index 351e44231..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-debian.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash -set -evu -apt-get update && apt-get update && apt-get install -y wget build-essential cmake libjsoncpp-dev libargtable2-dev libcurl4-openssl-dev libmicrohttpd-dev git libhiredis-dev redis-server lcov curl \ No newline at end of file diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-fedora.sh b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-fedora.sh deleted file mode 100755 index 1c884fd06..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/docker/deps-fedora.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -set -evu -dnf -y install \ - gcc-c++ \ - jsoncpp-devel \ - libcurl-devel \ - libmicrohttpd-devel \ - catch-devel \ - git \ - cmake \ - make \ - argtable-devel \ - hiredis-devel \ - redis \ No newline at end of file diff --git a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/src/catch2/catch.hpp b/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/src/catch2/catch.hpp deleted file mode 100644 index 7e706f947..000000000 --- a/3rdparty/unioncode-jsonrpccpp/libjson-rpc-cpp/src/catch2/catch.hpp +++ /dev/null @@ -1,17959 +0,0 @@ -/* - * Catch v2.13.7 - * Generated: 2021-07-28 20:29:27.753164 - * ---------------------------------------------------------- - * This file has been merged from multiple headers. Please don't edit it directly - * Copyright (c) 2021 Two Blue Cubes Ltd. All rights reserved. - * - * Distributed under the Boost Software License, Version 1.0. (See accompanying - * file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) - */ -#ifndef TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED -#define TWOBLUECUBES_SINGLE_INCLUDE_CATCH_HPP_INCLUDED -// start catch.hpp - - -#define CATCH_VERSION_MAJOR 2 -#define CATCH_VERSION_MINOR 13 -#define CATCH_VERSION_PATCH 7 - -#ifdef __clang__ -# pragma clang system_header -#elif defined __GNUC__ -# pragma GCC system_header -#endif - -// start catch_suppress_warnings.h - -#ifdef __clang__ -# ifdef __ICC // icpc defines the __clang__ macro -# pragma warning(push) -# pragma warning(disable: 161 1682) -# else // __ICC -# pragma clang diagnostic push -# pragma clang diagnostic ignored "-Wpadded" -# pragma clang diagnostic ignored "-Wswitch-enum" -# pragma clang diagnostic ignored "-Wcovered-switch-default" -# endif -#elif defined __GNUC__ - // Because REQUIREs trigger GCC's -Wparentheses, and because still - // supported version of g++ have only buggy support for _Pragmas, - // Wparentheses have to be suppressed globally. -# pragma GCC diagnostic ignored "-Wparentheses" // See #674 for details - -# pragma GCC diagnostic push -# pragma GCC diagnostic ignored "-Wunused-variable" -# pragma GCC diagnostic ignored "-Wpadded" -#endif -// end catch_suppress_warnings.h -#if defined(CATCH_CONFIG_MAIN) || defined(CATCH_CONFIG_RUNNER) -# define CATCH_IMPL -# define CATCH_CONFIG_ALL_PARTS -#endif - -// In the impl file, we want to have access to all parts of the headers -// Can also be used to sanely support PCHs -#if defined(CATCH_CONFIG_ALL_PARTS) -# define CATCH_CONFIG_EXTERNAL_INTERFACES -# if defined(CATCH_CONFIG_DISABLE_MATCHERS) -# undef CATCH_CONFIG_DISABLE_MATCHERS -# endif -# if !defined(CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER) -# define CATCH_CONFIG_ENABLE_CHRONO_STRINGMAKER -# endif -#endif - -#if !defined(CATCH_CONFIG_IMPL_ONLY) -// start catch_platform.h - -// See e.g.: -// https://opensource.apple.com/source/CarbonHeaders/CarbonHeaders-18.1/TargetConditionals.h.auto.html -#ifdef __APPLE__ -# include -# if (defined(TARGET_OS_OSX) && TARGET_OS_OSX == 1) || \ - (defined(TARGET_OS_MAC) && TARGET_OS_MAC == 1) -# define CATCH_PLATFORM_MAC -# elif (defined(TARGET_OS_IPHONE) && TARGET_OS_IPHONE == 1) -# define CATCH_PLATFORM_IPHONE -# endif - -#elif defined(linux) || defined(__linux) || defined(__linux__) -# define CATCH_PLATFORM_LINUX - -#elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__) -# define CATCH_PLATFORM_WINDOWS -#endif - -// end catch_platform.h - -#ifdef CATCH_IMPL -# ifndef CLARA_CONFIG_MAIN -# define CLARA_CONFIG_MAIN_NOT_DEFINED -# define CLARA_CONFIG_MAIN -# endif -#endif - -// start catch_user_interfaces.h - -namespace Catch { - unsigned int rngSeed(); -} - -// end catch_user_interfaces.h -// start catch_tag_alias_autoregistrar.h - -// start catch_common.h - -// start catch_compiler_capabilities.h - -// Detect a number of compiler features - by compiler -// The following features are defined: -// -// CATCH_CONFIG_COUNTER : is the __COUNTER__ macro supported? -// CATCH_CONFIG_WINDOWS_SEH : is Windows SEH supported? -// CATCH_CONFIG_POSIX_SIGNALS : are POSIX signals supported? -// CATCH_CONFIG_DISABLE_EXCEPTIONS : Are exceptions enabled? -// **************** -// Note to maintainers: if new toggles are added please document them -// in configuration.md, too -// **************** - -// In general each macro has a _NO_ form -// (e.g. CATCH_CONFIG_NO_POSIX_SIGNALS) which disables the feature. -// Many features, at point of detection, define an _INTERNAL_ macro, so they -// can be combined, en-mass, with the _NO_ forms later. - -#ifdef __cplusplus - -# if (__cplusplus >= 201402L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201402L) -# define CATCH_CPP14_OR_GREATER -# endif - -# if (__cplusplus >= 201703L) || (defined(_MSVC_LANG) && _MSVC_LANG >= 201703L) -# define CATCH_CPP17_OR_GREATER -# endif - -#endif - -// Only GCC compiler should be used in this block, so other compilers trying to -// mask themselves as GCC should be ignored. -#if defined(__GNUC__) && !defined(__clang__) && !defined(__ICC) && !defined(__CUDACC__) && !defined(__LCC__) -# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic push" ) -# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "GCC diagnostic pop" ) - -# define CATCH_INTERNAL_IGNORE_BUT_WARN(...) (void)__builtin_constant_p(__VA_ARGS__) - -#endif - -#if defined(__clang__) - -# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION _Pragma( "clang diagnostic push" ) -# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION _Pragma( "clang diagnostic pop" ) - -// As of this writing, IBM XL's implementation of __builtin_constant_p has a bug -// which results in calls to destructors being emitted for each temporary, -// without a matching initialization. In practice, this can result in something -// like `std::string::~string` being called on an uninitialized value. -// -// For example, this code will likely segfault under IBM XL: -// ``` -// REQUIRE(std::string("12") + "34" == "1234") -// ``` -// -// Therefore, `CATCH_INTERNAL_IGNORE_BUT_WARN` is not implemented. -# if !defined(__ibmxl__) && !defined(__CUDACC__) -# define CATCH_INTERNAL_IGNORE_BUT_WARN(...) (void)__builtin_constant_p(__VA_ARGS__) /* NOLINT(cppcoreguidelines-pro-type-vararg, hicpp-vararg) */ -# endif - -# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ - _Pragma( "clang diagnostic ignored \"-Wexit-time-destructors\"" ) \ - _Pragma( "clang diagnostic ignored \"-Wglobal-constructors\"") - -# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS \ - _Pragma( "clang diagnostic ignored \"-Wparentheses\"" ) - -# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS \ - _Pragma( "clang diagnostic ignored \"-Wunused-variable\"" ) - -# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS \ - _Pragma( "clang diagnostic ignored \"-Wgnu-zero-variadic-macro-arguments\"" ) - -# define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS \ - _Pragma( "clang diagnostic ignored \"-Wunused-template\"" ) - -#endif // __clang__ - -//////////////////////////////////////////////////////////////////////////////// -// Assume that non-Windows platforms support posix signals by default -#if !defined(CATCH_PLATFORM_WINDOWS) - #define CATCH_INTERNAL_CONFIG_POSIX_SIGNALS -#endif - -//////////////////////////////////////////////////////////////////////////////// -// We know some environments not to support full POSIX signals -#if defined(__CYGWIN__) || defined(__QNX__) || defined(__EMSCRIPTEN__) || defined(__DJGPP__) - #define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS -#endif - -#ifdef __OS400__ -# define CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS -# define CATCH_CONFIG_COLOUR_NONE -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Android somehow still does not support std::to_string -#if defined(__ANDROID__) -# define CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING -# define CATCH_INTERNAL_CONFIG_ANDROID_LOGWRITE -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Not all Windows environments support SEH properly -#if defined(__MINGW32__) -# define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH -#endif - -//////////////////////////////////////////////////////////////////////////////// -// PS4 -#if defined(__ORBIS__) -# define CATCH_INTERNAL_CONFIG_NO_NEW_CAPTURE -#endif - -//////////////////////////////////////////////////////////////////////////////// -// Cygwin -#ifdef __CYGWIN__ - -// Required for some versions of Cygwin to declare gettimeofday -// see: http://stackoverflow.com/questions/36901803/gettimeofday-not-declared-in-this-scope-cygwin -# define _BSD_SOURCE -// some versions of cygwin (most) do not support std::to_string. Use the libstd check. -// https://gcc.gnu.org/onlinedocs/gcc-4.8.2/libstdc++/api/a01053_source.html line 2812-2813 -# if !((__cplusplus >= 201103L) && defined(_GLIBCXX_USE_C99) \ - && !defined(_GLIBCXX_HAVE_BROKEN_VSWPRINTF)) - -# define CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING - -# endif -#endif // __CYGWIN__ - -//////////////////////////////////////////////////////////////////////////////// -// Visual C++ -#if defined(_MSC_VER) - -# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION __pragma( warning(push) ) -# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION __pragma( warning(pop) ) - -// Universal Windows platform does not support SEH -// Or console colours (or console at all...) -# if defined(WINAPI_FAMILY) && (WINAPI_FAMILY == WINAPI_FAMILY_APP) -# define CATCH_CONFIG_COLOUR_NONE -# else -# define CATCH_INTERNAL_CONFIG_WINDOWS_SEH -# endif - -// MSVC traditional preprocessor needs some workaround for __VA_ARGS__ -// _MSVC_TRADITIONAL == 0 means new conformant preprocessor -// _MSVC_TRADITIONAL == 1 means old traditional non-conformant preprocessor -# if !defined(__clang__) // Handle Clang masquerading for msvc -# if !defined(_MSVC_TRADITIONAL) || (defined(_MSVC_TRADITIONAL) && _MSVC_TRADITIONAL) -# define CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -# endif // MSVC_TRADITIONAL -# endif // __clang__ - -#endif // _MSC_VER - -#if defined(_REENTRANT) || defined(_MSC_VER) -// Enable async processing, as -pthread is specified or no additional linking is required -# define CATCH_INTERNAL_CONFIG_USE_ASYNC -#endif // _MSC_VER - -//////////////////////////////////////////////////////////////////////////////// -// Check if we are compiled with -fno-exceptions or equivalent -#if defined(__EXCEPTIONS) || defined(__cpp_exceptions) || defined(_CPPUNWIND) -# define CATCH_INTERNAL_CONFIG_EXCEPTIONS_ENABLED -#endif - -//////////////////////////////////////////////////////////////////////////////// -// DJGPP -#ifdef __DJGPP__ -# define CATCH_INTERNAL_CONFIG_NO_WCHAR -#endif // __DJGPP__ - -//////////////////////////////////////////////////////////////////////////////// -// Embarcadero C++Build -#if defined(__BORLANDC__) - #define CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN -#endif - -//////////////////////////////////////////////////////////////////////////////// - -// Use of __COUNTER__ is suppressed during code analysis in -// CLion/AppCode 2017.2.x and former, because __COUNTER__ is not properly -// handled by it. -// Otherwise all supported compilers support COUNTER macro, -// but user still might want to turn it off -#if ( !defined(__JETBRAINS_IDE__) || __JETBRAINS_IDE__ >= 20170300L ) - #define CATCH_INTERNAL_CONFIG_COUNTER -#endif - -//////////////////////////////////////////////////////////////////////////////// - -// RTX is a special version of Windows that is real time. -// This means that it is detected as Windows, but does not provide -// the same set of capabilities as real Windows does. -#if defined(UNDER_RTSS) || defined(RTX64_BUILD) - #define CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH - #define CATCH_INTERNAL_CONFIG_NO_ASYNC - #define CATCH_CONFIG_COLOUR_NONE -#endif - -#if !defined(_GLIBCXX_USE_C99_MATH_TR1) -#define CATCH_INTERNAL_CONFIG_GLOBAL_NEXTAFTER -#endif - -// Various stdlib support checks that require __has_include -#if defined(__has_include) - // Check if string_view is available and usable - #if __has_include() && defined(CATCH_CPP17_OR_GREATER) - # define CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW - #endif - - // Check if optional is available and usable - # if __has_include() && defined(CATCH_CPP17_OR_GREATER) - # define CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL - # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) - - // Check if byte is available and usable - # if __has_include() && defined(CATCH_CPP17_OR_GREATER) - # include - # if defined(__cpp_lib_byte) && (__cpp_lib_byte > 0) - # define CATCH_INTERNAL_CONFIG_CPP17_BYTE - # endif - # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) - - // Check if variant is available and usable - # if __has_include() && defined(CATCH_CPP17_OR_GREATER) - # if defined(__clang__) && (__clang_major__ < 8) - // work around clang bug with libstdc++ https://bugs.llvm.org/show_bug.cgi?id=31852 - // fix should be in clang 8, workaround in libstdc++ 8.2 - # include - # if defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) - # define CATCH_CONFIG_NO_CPP17_VARIANT - # else - # define CATCH_INTERNAL_CONFIG_CPP17_VARIANT - # endif // defined(__GLIBCXX__) && defined(_GLIBCXX_RELEASE) && (_GLIBCXX_RELEASE < 9) - # else - # define CATCH_INTERNAL_CONFIG_CPP17_VARIANT - # endif // defined(__clang__) && (__clang_major__ < 8) - # endif // __has_include() && defined(CATCH_CPP17_OR_GREATER) -#endif // defined(__has_include) - -#if defined(CATCH_INTERNAL_CONFIG_COUNTER) && !defined(CATCH_CONFIG_NO_COUNTER) && !defined(CATCH_CONFIG_COUNTER) -# define CATCH_CONFIG_COUNTER -#endif -#if defined(CATCH_INTERNAL_CONFIG_WINDOWS_SEH) && !defined(CATCH_CONFIG_NO_WINDOWS_SEH) && !defined(CATCH_CONFIG_WINDOWS_SEH) && !defined(CATCH_INTERNAL_CONFIG_NO_WINDOWS_SEH) -# define CATCH_CONFIG_WINDOWS_SEH -#endif -// This is set by default, because we assume that unix compilers are posix-signal-compatible by default. -#if defined(CATCH_INTERNAL_CONFIG_POSIX_SIGNALS) && !defined(CATCH_INTERNAL_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_NO_POSIX_SIGNALS) && !defined(CATCH_CONFIG_POSIX_SIGNALS) -# define CATCH_CONFIG_POSIX_SIGNALS -#endif -// This is set by default, because we assume that compilers with no wchar_t support are just rare exceptions. -#if !defined(CATCH_INTERNAL_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_NO_WCHAR) && !defined(CATCH_CONFIG_WCHAR) -# define CATCH_CONFIG_WCHAR -#endif - -#if !defined(CATCH_INTERNAL_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_NO_CPP11_TO_STRING) && !defined(CATCH_CONFIG_CPP11_TO_STRING) -# define CATCH_CONFIG_CPP11_TO_STRING -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_OPTIONAL) && !defined(CATCH_CONFIG_NO_CPP17_OPTIONAL) && !defined(CATCH_CONFIG_CPP17_OPTIONAL) -# define CATCH_CONFIG_CPP17_OPTIONAL -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_NO_CPP17_STRING_VIEW) && !defined(CATCH_CONFIG_CPP17_STRING_VIEW) -# define CATCH_CONFIG_CPP17_STRING_VIEW -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_VARIANT) && !defined(CATCH_CONFIG_NO_CPP17_VARIANT) && !defined(CATCH_CONFIG_CPP17_VARIANT) -# define CATCH_CONFIG_CPP17_VARIANT -#endif - -#if defined(CATCH_INTERNAL_CONFIG_CPP17_BYTE) && !defined(CATCH_CONFIG_NO_CPP17_BYTE) && !defined(CATCH_CONFIG_CPP17_BYTE) -# define CATCH_CONFIG_CPP17_BYTE -#endif - -#if defined(CATCH_CONFIG_EXPERIMENTAL_REDIRECT) -# define CATCH_INTERNAL_CONFIG_NEW_CAPTURE -#endif - -#if defined(CATCH_INTERNAL_CONFIG_NEW_CAPTURE) && !defined(CATCH_INTERNAL_CONFIG_NO_NEW_CAPTURE) && !defined(CATCH_CONFIG_NO_NEW_CAPTURE) && !defined(CATCH_CONFIG_NEW_CAPTURE) -# define CATCH_CONFIG_NEW_CAPTURE -#endif - -#if !defined(CATCH_INTERNAL_CONFIG_EXCEPTIONS_ENABLED) && !defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) -# define CATCH_CONFIG_DISABLE_EXCEPTIONS -#endif - -#if defined(CATCH_INTERNAL_CONFIG_POLYFILL_ISNAN) && !defined(CATCH_CONFIG_NO_POLYFILL_ISNAN) && !defined(CATCH_CONFIG_POLYFILL_ISNAN) -# define CATCH_CONFIG_POLYFILL_ISNAN -#endif - -#if defined(CATCH_INTERNAL_CONFIG_USE_ASYNC) && !defined(CATCH_INTERNAL_CONFIG_NO_ASYNC) && !defined(CATCH_CONFIG_NO_USE_ASYNC) && !defined(CATCH_CONFIG_USE_ASYNC) -# define CATCH_CONFIG_USE_ASYNC -#endif - -#if defined(CATCH_INTERNAL_CONFIG_ANDROID_LOGWRITE) && !defined(CATCH_CONFIG_NO_ANDROID_LOGWRITE) && !defined(CATCH_CONFIG_ANDROID_LOGWRITE) -# define CATCH_CONFIG_ANDROID_LOGWRITE -#endif - -#if defined(CATCH_INTERNAL_CONFIG_GLOBAL_NEXTAFTER) && !defined(CATCH_CONFIG_NO_GLOBAL_NEXTAFTER) && !defined(CATCH_CONFIG_GLOBAL_NEXTAFTER) -# define CATCH_CONFIG_GLOBAL_NEXTAFTER -#endif - -// Even if we do not think the compiler has that warning, we still have -// to provide a macro that can be used by the code. -#if !defined(CATCH_INTERNAL_START_WARNINGS_SUPPRESSION) -# define CATCH_INTERNAL_START_WARNINGS_SUPPRESSION -#endif -#if !defined(CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION) -# define CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION -#endif -#if !defined(CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_PARENTHESES_WARNINGS -#endif -#if !defined(CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS -#endif -#if !defined(CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_UNUSED_WARNINGS -#endif -#if !defined(CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_ZERO_VARIADIC_WARNINGS -#endif - -// The goal of this macro is to avoid evaluation of the arguments, but -// still have the compiler warn on problems inside... -#if !defined(CATCH_INTERNAL_IGNORE_BUT_WARN) -# define CATCH_INTERNAL_IGNORE_BUT_WARN(...) -#endif - -#if defined(__APPLE__) && defined(__apple_build_version__) && (__clang_major__ < 10) -# undef CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS -#elif defined(__clang__) && (__clang_major__ < 5) -# undef CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS -#endif - -#if !defined(CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS) -# define CATCH_INTERNAL_SUPPRESS_UNUSED_TEMPLATE_WARNINGS -#endif - -#if defined(CATCH_CONFIG_DISABLE_EXCEPTIONS) -#define CATCH_TRY if ((true)) -#define CATCH_CATCH_ALL if ((false)) -#define CATCH_CATCH_ANON(type) if ((false)) -#else -#define CATCH_TRY try -#define CATCH_CATCH_ALL catch (...) -#define CATCH_CATCH_ANON(type) catch (type) -#endif - -#if defined(CATCH_INTERNAL_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR) && !defined(CATCH_CONFIG_NO_TRADITIONAL_MSVC_PREPROCESSOR) && !defined(CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR) -#define CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#endif - -// end catch_compiler_capabilities.h -#define INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) name##line -#define INTERNAL_CATCH_UNIQUE_NAME_LINE( name, line ) INTERNAL_CATCH_UNIQUE_NAME_LINE2( name, line ) -#ifdef CATCH_CONFIG_COUNTER -# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __COUNTER__ ) -#else -# define INTERNAL_CATCH_UNIQUE_NAME( name ) INTERNAL_CATCH_UNIQUE_NAME_LINE( name, __LINE__ ) -#endif - -#include -#include -#include - -// We need a dummy global operator<< so we can bring it into Catch namespace later -struct Catch_global_namespace_dummy {}; -std::ostream& operator<<(std::ostream&, Catch_global_namespace_dummy); - -namespace Catch { - - struct CaseSensitive { enum Choice { - Yes, - No - }; }; - - class NonCopyable { - NonCopyable( NonCopyable const& ) = delete; - NonCopyable( NonCopyable && ) = delete; - NonCopyable& operator = ( NonCopyable const& ) = delete; - NonCopyable& operator = ( NonCopyable && ) = delete; - - protected: - NonCopyable(); - virtual ~NonCopyable(); - }; - - struct SourceLineInfo { - - SourceLineInfo() = delete; - SourceLineInfo( char const* _file, std::size_t _line ) noexcept - : file( _file ), - line( _line ) - {} - - SourceLineInfo( SourceLineInfo const& other ) = default; - SourceLineInfo& operator = ( SourceLineInfo const& ) = default; - SourceLineInfo( SourceLineInfo&& ) noexcept = default; - SourceLineInfo& operator = ( SourceLineInfo&& ) noexcept = default; - - bool empty() const noexcept { return file[0] == '\0'; } - bool operator == ( SourceLineInfo const& other ) const noexcept; - bool operator < ( SourceLineInfo const& other ) const noexcept; - - char const* file; - std::size_t line; - }; - - std::ostream& operator << ( std::ostream& os, SourceLineInfo const& info ); - - // Bring in operator<< from global namespace into Catch namespace - // This is necessary because the overload of operator<< above makes - // lookup stop at namespace Catch - using ::operator<<; - - // Use this in variadic streaming macros to allow - // >> +StreamEndStop - // as well as - // >> stuff +StreamEndStop - struct StreamEndStop { - std::string operator+() const; - }; - template - T const& operator + ( T const& value, StreamEndStop ) { - return value; - } -} - -#define CATCH_INTERNAL_LINEINFO \ - ::Catch::SourceLineInfo( __FILE__, static_cast( __LINE__ ) ) - -// end catch_common.h -namespace Catch { - - struct RegistrarForTagAliases { - RegistrarForTagAliases( char const* alias, char const* tag, SourceLineInfo const& lineInfo ); - }; - -} // end namespace Catch - -#define CATCH_REGISTER_TAG_ALIAS( alias, spec ) \ - CATCH_INTERNAL_START_WARNINGS_SUPPRESSION \ - CATCH_INTERNAL_SUPPRESS_GLOBALS_WARNINGS \ - namespace{ Catch::RegistrarForTagAliases INTERNAL_CATCH_UNIQUE_NAME( AutoRegisterTagAlias )( alias, spec, CATCH_INTERNAL_LINEINFO ); } \ - CATCH_INTERNAL_STOP_WARNINGS_SUPPRESSION - -// end catch_tag_alias_autoregistrar.h -// start catch_test_registry.h - -// start catch_interfaces_testcase.h - -#include - -namespace Catch { - - class TestSpec; - - struct ITestInvoker { - virtual void invoke () const = 0; - virtual ~ITestInvoker(); - }; - - class TestCase; - struct IConfig; - - struct ITestCaseRegistry { - virtual ~ITestCaseRegistry(); - virtual std::vector const& getAllTests() const = 0; - virtual std::vector const& getAllTestsSorted( IConfig const& config ) const = 0; - }; - - bool isThrowSafe( TestCase const& testCase, IConfig const& config ); - bool matchTest( TestCase const& testCase, TestSpec const& testSpec, IConfig const& config ); - std::vector filterTests( std::vector const& testCases, TestSpec const& testSpec, IConfig const& config ); - std::vector const& getAllTestCasesSorted( IConfig const& config ); - -} - -// end catch_interfaces_testcase.h -// start catch_stringref.h - -#include -#include -#include -#include - -namespace Catch { - - /// A non-owning string class (similar to the forthcoming std::string_view) - /// Note that, because a StringRef may be a substring of another string, - /// it may not be null terminated. - class StringRef { - public: - using size_type = std::size_t; - using const_iterator = const char*; - - private: - static constexpr char const* const s_empty = ""; - - char const* m_start = s_empty; - size_type m_size = 0; - - public: // construction - constexpr StringRef() noexcept = default; - - StringRef( char const* rawChars ) noexcept; - - constexpr StringRef( char const* rawChars, size_type size ) noexcept - : m_start( rawChars ), - m_size( size ) - {} - - StringRef( std::string const& stdString ) noexcept - : m_start( stdString.c_str() ), - m_size( stdString.size() ) - {} - - explicit operator std::string() const { - return std::string(m_start, m_size); - } - - public: // operators - auto operator == ( StringRef const& other ) const noexcept -> bool; - auto operator != (StringRef const& other) const noexcept -> bool { - return !(*this == other); - } - - auto operator[] ( size_type index ) const noexcept -> char { - assert(index < m_size); - return m_start[index]; - } - - public: // named queries - constexpr auto empty() const noexcept -> bool { - return m_size == 0; - } - constexpr auto size() const noexcept -> size_type { - return m_size; - } - - // Returns the current start pointer. If the StringRef is not - // null-terminated, throws std::domain_exception - auto c_str() const -> char const*; - - public: // substrings and searches - // Returns a substring of [start, start + length). - // If start + length > size(), then the substring is [start, size()). - // If start > size(), then the substring is empty. - auto substr( size_type start, size_type length ) const noexcept -> StringRef; - - // Returns the current start pointer. May not be null-terminated. - auto data() const noexcept -> char const*; - - constexpr auto isNullTerminated() const noexcept -> bool { - return m_start[m_size] == '\0'; - } - - public: // iterators - constexpr const_iterator begin() const { return m_start; } - constexpr const_iterator end() const { return m_start + m_size; } - }; - - auto operator += ( std::string& lhs, StringRef const& sr ) -> std::string&; - auto operator << ( std::ostream& os, StringRef const& sr ) -> std::ostream&; - - constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef { - return StringRef( rawChars, size ); - } -} // namespace Catch - -constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef { - return Catch::StringRef( rawChars, size ); -} - -// end catch_stringref.h -// start catch_preprocessor.hpp - - -#define CATCH_RECURSION_LEVEL0(...) __VA_ARGS__ -#define CATCH_RECURSION_LEVEL1(...) CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(CATCH_RECURSION_LEVEL0(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL2(...) CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(CATCH_RECURSION_LEVEL1(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL3(...) CATCH_RECURSION_LEVEL2(CATCH_RECURSION_LEVEL2(CATCH_RECURSION_LEVEL2(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL4(...) CATCH_RECURSION_LEVEL3(CATCH_RECURSION_LEVEL3(CATCH_RECURSION_LEVEL3(__VA_ARGS__))) -#define CATCH_RECURSION_LEVEL5(...) CATCH_RECURSION_LEVEL4(CATCH_RECURSION_LEVEL4(CATCH_RECURSION_LEVEL4(__VA_ARGS__))) - -#ifdef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#define INTERNAL_CATCH_EXPAND_VARGS(...) __VA_ARGS__ -// MSVC needs more evaluations -#define CATCH_RECURSION_LEVEL6(...) CATCH_RECURSION_LEVEL5(CATCH_RECURSION_LEVEL5(CATCH_RECURSION_LEVEL5(__VA_ARGS__))) -#define CATCH_RECURSE(...) CATCH_RECURSION_LEVEL6(CATCH_RECURSION_LEVEL6(__VA_ARGS__)) -#else -#define CATCH_RECURSE(...) CATCH_RECURSION_LEVEL5(__VA_ARGS__) -#endif - -#define CATCH_REC_END(...) -#define CATCH_REC_OUT - -#define CATCH_EMPTY() -#define CATCH_DEFER(id) id CATCH_EMPTY() - -#define CATCH_REC_GET_END2() 0, CATCH_REC_END -#define CATCH_REC_GET_END1(...) CATCH_REC_GET_END2 -#define CATCH_REC_GET_END(...) CATCH_REC_GET_END1 -#define CATCH_REC_NEXT0(test, next, ...) next CATCH_REC_OUT -#define CATCH_REC_NEXT1(test, next) CATCH_DEFER ( CATCH_REC_NEXT0 ) ( test, next, 0) -#define CATCH_REC_NEXT(test, next) CATCH_REC_NEXT1(CATCH_REC_GET_END test, next) - -#define CATCH_REC_LIST0(f, x, peek, ...) , f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1) ) ( f, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST1(f, x, peek, ...) , f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST0) ) ( f, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST2(f, x, peek, ...) f(x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1) ) ( f, peek, __VA_ARGS__ ) - -#define CATCH_REC_LIST0_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1_UD) ) ( f, userdata, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST1_UD(f, userdata, x, peek, ...) , f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST0_UD) ) ( f, userdata, peek, __VA_ARGS__ ) -#define CATCH_REC_LIST2_UD(f, userdata, x, peek, ...) f(userdata, x) CATCH_DEFER ( CATCH_REC_NEXT(peek, CATCH_REC_LIST1_UD) ) ( f, userdata, peek, __VA_ARGS__ ) - -// Applies the function macro `f` to each of the remaining parameters, inserts commas between the results, -// and passes userdata as the first parameter to each invocation, -// e.g. CATCH_REC_LIST_UD(f, x, a, b, c) evaluates to f(x, a), f(x, b), f(x, c) -#define CATCH_REC_LIST_UD(f, userdata, ...) CATCH_RECURSE(CATCH_REC_LIST2_UD(f, userdata, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) - -#define CATCH_REC_LIST(f, ...) CATCH_RECURSE(CATCH_REC_LIST2(f, __VA_ARGS__, ()()(), ()()(), ()()(), 0)) - -#define INTERNAL_CATCH_EXPAND1(param) INTERNAL_CATCH_EXPAND2(param) -#define INTERNAL_CATCH_EXPAND2(...) INTERNAL_CATCH_NO## __VA_ARGS__ -#define INTERNAL_CATCH_DEF(...) INTERNAL_CATCH_DEF __VA_ARGS__ -#define INTERNAL_CATCH_NOINTERNAL_CATCH_DEF -#define INTERNAL_CATCH_STRINGIZE(...) INTERNAL_CATCH_STRINGIZE2(__VA_ARGS__) -#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#define INTERNAL_CATCH_STRINGIZE2(...) #__VA_ARGS__ -#define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) -#else -// MSVC is adding extra space and needs another indirection to expand INTERNAL_CATCH_NOINTERNAL_CATCH_DEF -#define INTERNAL_CATCH_STRINGIZE2(...) INTERNAL_CATCH_STRINGIZE3(__VA_ARGS__) -#define INTERNAL_CATCH_STRINGIZE3(...) #__VA_ARGS__ -#define INTERNAL_CATCH_STRINGIZE_WITHOUT_PARENS(param) (INTERNAL_CATCH_STRINGIZE(INTERNAL_CATCH_REMOVE_PARENS(param)) + 1) -#endif - -#define INTERNAL_CATCH_MAKE_NAMESPACE2(...) ns_##__VA_ARGS__ -#define INTERNAL_CATCH_MAKE_NAMESPACE(name) INTERNAL_CATCH_MAKE_NAMESPACE2(name) - -#define INTERNAL_CATCH_REMOVE_PARENS(...) INTERNAL_CATCH_EXPAND1(INTERNAL_CATCH_DEF __VA_ARGS__) - -#ifndef CATCH_CONFIG_TRADITIONAL_MSVC_PREPROCESSOR -#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) decltype(get_wrapper()) -#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__)) -#else -#define INTERNAL_CATCH_MAKE_TYPE_LIST2(...) INTERNAL_CATCH_EXPAND_VARGS(decltype(get_wrapper())) -#define INTERNAL_CATCH_MAKE_TYPE_LIST(...) INTERNAL_CATCH_EXPAND_VARGS(INTERNAL_CATCH_MAKE_TYPE_LIST2(INTERNAL_CATCH_REMOVE_PARENS(__VA_ARGS__))) -#endif - -#define INTERNAL_CATCH_MAKE_TYPE_LISTS_FROM_TYPES(...)\ - CATCH_REC_LIST(INTERNAL_CATCH_MAKE_TYPE_LIST,__VA_ARGS__) - -#define INTERNAL_CATCH_REMOVE_PARENS_1_ARG(_0) INTERNAL_CATCH_REMOVE_PARENS(_0) -#define INTERNAL_CATCH_REMOVE_PARENS_2_ARG(_0, _1) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_1_ARG(_1) -#define INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_0, _1, _2) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_2_ARG(_1, _2) -#define INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_0, _1, _2, _3) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_3_ARG(_1, _2, _3) -#define INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_0, _1, _2, _3, _4) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_4_ARG(_1, _2, _3, _4) -#define INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_0, _1, _2, _3, _4, _5) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_5_ARG(_1, _2, _3, _4, _5) -#define INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_0, _1, _2, _3, _4, _5, _6) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_6_ARG(_1, _2, _3, _4, _5, _6) -#define INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_0, _1, _2, _3, _4, _5, _6, _7) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_7_ARG(_1, _2, _3, _4, _5, _6, _7) -#define INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_8_ARG(_1, _2, _3, _4, _5, _6, _7, _8) -#define INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_9_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9) -#define INTERNAL_CATCH_REMOVE_PARENS_11_ARG(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10) INTERNAL_CATCH_REMOVE_PARENS(_0), INTERNAL_CATCH_REMOVE_PARENS_10_ARG(_1, _2, _3, _4, _5, _6, _7, _8, _9, _10) - -#define INTERNAL_CATCH_VA_NARGS_IMPL(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) N - -#define INTERNAL_CATCH_TYPE_GEN\ - template struct TypeList {};\ - template\ - constexpr auto get_wrapper() noexcept -> TypeList { return {}; }\ - template class...> struct TemplateTypeList{};\ - template class...Cs>\ - constexpr auto get_wrapper() noexcept -> TemplateTypeList { return {}; }\ - template\ - struct append;\ - template\ - struct rewrap;\ - template class, typename...>\ - struct create;\ - template class, typename>\ - struct convert;\ - \ - template \ - struct append { using type = T; };\ - template< template class L1, typename...E1, template class L2, typename...E2, typename...Rest>\ - struct append, L2, Rest...> { using type = typename append, Rest...>::type; };\ - template< template class L1, typename...E1, typename...Rest>\ - struct append, TypeList, Rest...> { using type = L1; };\ - \ - template< template class Container, template class List, typename...elems>\ - struct rewrap, List> { using type = TypeList>; };\ - template< template class Container, template class List, class...Elems, typename...Elements>\ - struct rewrap, List, Elements...> { using type = typename append>, typename rewrap, Elements...>::type>::type; };\ - \ - template