diff --git a/cmake/configs/default.cmake b/cmake/configs/default.cmake index 056988bb9f..60da28f6a6 100644 --- a/cmake/configs/default.cmake +++ b/cmake/configs/default.cmake @@ -75,6 +75,7 @@ endif() hunter_default_version(HalideIR VERSION 0.0-32057b5-p0) hunter_default_version(HastyNoise VERSION 0.8.3) +hunter_default_version(HiRedis VERSION 1.1.0) hunter_default_version(ICU VERSION 63.1-p5) hunter_default_version(IF97 VERSION 2.1.2) hunter_default_version(Igloo VERSION 1.1.1-hunter) @@ -142,6 +143,7 @@ hunter_default_version(QtQmlManager VERSION 1.0.0) hunter_default_version(Qwt VERSION 6.1-p3) hunter_default_version(RapidJSON VERSION 1.1.0-b557259-p0) hunter_default_version(RapidXML VERSION 1.13) +hunter_default_version(Redis++ VERSION 1.3.6) hunter_default_version(RedisClient VERSION 0.6.1-p1) hunter_default_version(SDL2 VERSION 2.24.0) hunter_default_version(SDL_image VERSION 2.0.5-p0) @@ -374,7 +376,7 @@ hunter_default_version(libscrypt VERSION 1.21-p1) hunter_default_version(libsodium VERSION 1.0.16-p0) hunter_default_version(libunibreak VERSION 4.0) hunter_default_version(libusb VERSION 1.0.23) -hunter_default_version(libuv VERSION 1.42.0-p0) +hunter_default_version(libuv VERSION 1.44.2) hunter_default_version(libxdg-basedir VERSION 1.2.3) hunter_default_version(libxml2 VERSION 2.9.7-p0) hunter_default_version(libyuv VERSION 1514-p3) diff --git a/cmake/projects/HiRedis/ci/matrix.json b/cmake/projects/HiRedis/ci/matrix.json new file mode 100644 index 0000000000..fc992308c0 --- /dev/null +++ b/cmake/projects/HiRedis/ci/matrix.json @@ -0,0 +1,17 @@ +[ + { "example": "HiRedis", "toolchain": "clang-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "gcc-7-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "sanitize-address-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "sanitize-leak-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "sanitize-thread-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "osx-10-15-make-cxx14", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "osx-12-3-arch-universal2-cxx17", "os": "macos-12", "python": "3.8", "script": "build.sh" }, + { "example": "HiRedis", "toolchain": "ninja-vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, + { "example": "HiRedis", "toolchain": "nmake-vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, + { "example": "HiRedis", "toolchain": "vs-16-2019-win64-sdk-10-0-18362-0-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, + { "example": "HiRedis", "toolchain": "mingw-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, + { "example": "HiRedis", "toolchain": "msys-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" } +] + \ No newline at end of file diff --git a/cmake/projects/HiRedis/hunter.cmake b/cmake/projects/HiRedis/hunter.cmake new file mode 100644 index 0000000000..ab05f44902 --- /dev/null +++ b/cmake/projects/HiRedis/hunter.cmake @@ -0,0 +1,26 @@ +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) +include(hunter_report_broken_package) + +hunter_add_version( + PACKAGE_NAME + HiRedis + VERSION + 1.1.0 + URL + "https://github.com/redis/hiredis/archive/refs/tags/v1.1.0.tar.gz" + SHA1 + 6b3bae35134d2c0b3b1d884e157cfb03c90412da +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) + +hunter_cmake_args(HiRedis CMAKE_ARGS DISABLE_TESTS=ON) + +hunter_cacheable(HiRedis) +hunter_download(PACKAGE_NAME HiRedis) diff --git a/cmake/projects/Redis++/ci/matrix.json b/cmake/projects/Redis++/ci/matrix.json new file mode 100644 index 0000000000..554a17e3f2 --- /dev/null +++ b/cmake/projects/Redis++/ci/matrix.json @@ -0,0 +1,16 @@ +[ +{ "example": "Redis++", "toolchain": "clang-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "gcc-7-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "gcc-8-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "gcc-9-cxx17-fpic", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "sanitize-address-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "sanitize-leak-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "sanitize-thread-cxx17", "os": "ubuntu-20.04", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "osx-10-15-cxx17", "os": "macos-10.15", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "osx-12-3-arch-universal2-cxx17", "os": "macos-12", "python": "3.8", "script": "build.sh" }, +{ "example": "Redis++", "toolchain": "ninja-vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Redis++", "toolchain": "nmake-vs-16-2019-win64-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Redis++", "toolchain": "vs-16-2019-win64-sdk-10-0-18362-0-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Redis++", "toolchain": "mingw-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" }, +{ "example": "Redis++", "toolchain": "msys-cxx17", "os": "windows-2019", "python": "3.8", "script": "build.cmd" } +] diff --git a/cmake/projects/Redis++/hunter.cmake b/cmake/projects/Redis++/hunter.cmake new file mode 100644 index 0000000000..ba058f2ec7 --- /dev/null +++ b/cmake/projects/Redis++/hunter.cmake @@ -0,0 +1,26 @@ +# !!! DO NOT PLACE HEADER GUARDS HERE !!! + +include(hunter_add_version) +include(hunter_cacheable) +include(hunter_cmake_args) +include(hunter_download) +include(hunter_pick_scheme) + +hunter_add_version( + PACKAGE_NAME + Redis++ + VERSION + 1.3.6 + URL + "https://github.com/sewenew/redis-plus-plus/archive/refs/tags/1.3.6.tar.gz" + SHA1 + 650a9fc65c958119f5360ae7dc2341487a29ac6d +) + +hunter_pick_scheme(DEFAULT url_sha1_cmake) + +hunter_cmake_args(Redis++ CMAKE_ARGS REDIS_PLUS_PLUS_BUILD_ASYNC=libuv + REDIS_PLUS_PLUS_BUILD_TEST=OFF CMAKE_PREFIX_PATH=${HUNTER_INSTALL_PREFIX}) + +hunter_cacheable(Redis++) +hunter_download(PACKAGE_NAME Redis++) diff --git a/cmake/projects/libuv/hunter.cmake b/cmake/projects/libuv/hunter.cmake index bbc8c45541..aff0ed90d1 100644 --- a/cmake/projects/libuv/hunter.cmake +++ b/cmake/projects/libuv/hunter.cmake @@ -96,6 +96,17 @@ hunter_add_version( 4b334b174f4abf4a7f41656e1cfe3c60ad9382ca ) +hunter_add_version( + PACKAGE_NAME + libuv + VERSION + 1.44.2 + URL + "https://github.com/libuv/libuv/archive/refs/tags/v1.44.2.tar.gz" + SHA1 + 0ea9726936755088e9c01d30caacfca1a384f3bb +) + hunter_pick_scheme(DEFAULT url_sha1_cmake) hunter_cmake_args(libuv CMAKE_ARGS BUILD_TESTING=OFF) diff --git a/docs/packages/pkg/HiRedis.rst b/docs/packages/pkg/HiRedis.rst new file mode 100644 index 0000000000..c3ac48d379 --- /dev/null +++ b/docs/packages/pkg/HiRedis.rst @@ -0,0 +1,22 @@ +.. spelling:: + + HiRedis + hiredis + +.. index:: HiRedis + +.. _pkg.HiRedis: + +HiRedis +======= + +- `Official `__ +- `Example + CMakeLists.txt `__ +- Added by `Ronny Nowak `__ + +.. code-block:: cmake + + hunter_add_package(HiRedis) + find_package(HiRedis CONFIG REQUIRED) + target_link_libraries(... hiredis::hiredis_static) \ No newline at end of file diff --git a/docs/packages/pkg/Redis++.rst b/docs/packages/pkg/Redis++.rst new file mode 100644 index 0000000000..17b60a3df6 --- /dev/null +++ b/docs/packages/pkg/Redis++.rst @@ -0,0 +1,29 @@ +.. spelling:: + + Redis++ + redis + +.. index:: Redis++ + +.. _pkg.Redis++: + +Redis++ +======= + +- `Official `__ +- `Example + CMakeLists.txt `__ +- Added by `Ronny Nowak `__ + +.. code-block:: cmake + + hunter_add_package(HiRedis) + find_package(HiRedis CONFIG REQUIRED) + + hunter_add_package(libuv) + find_package(libuv CONFIG REQUIRED) + + hunter_add_package(Redis++) + find_package(Redis++ CONFIG REQUIRED) + + target_link_libraries(... redis++::redis++_static uv) \ No newline at end of file diff --git a/docs/packages/pkg/libuv.rst b/docs/packages/pkg/libuv.rst index 3650cb0160..e17caceca3 100644 --- a/docs/packages/pkg/libuv.rst +++ b/docs/packages/pkg/libuv.rst @@ -22,7 +22,7 @@ libuv hunter_add_package(libuv) find_package(libuv CONFIG REQUIRED) - target_link_libraries(... libuv::uv) + target_link_libraries(... uv) uv_ssize_t ~~~~~~~~~~ diff --git a/examples/HiRedis/CMakeLists.txt b/examples/HiRedis/CMakeLists.txt new file mode 100644 index 0000000000..32e84a7581 --- /dev/null +++ b/examples/HiRedis/CMakeLists.txt @@ -0,0 +1,21 @@ +# Copyright (c) 2022, Ronny Nowak +# All rights reserved. + +cmake_minimum_required(VERSION 3.0) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-hiredis) + +# DOCUMENTATION_START { +hunter_add_package(HiRedis) +find_package(HiRedis CONFIG REQUIRED) + +add_executable(example main.cpp) +target_link_libraries(example PUBLIC hiredis::hiredis_static) +# DOCUMENTATION_END } + +# Test double library creation +find_package(HiRedis CONFIG REQUIRED) diff --git a/examples/HiRedis/main.cpp b/examples/HiRedis/main.cpp new file mode 100644 index 0000000000..297fd9da28 --- /dev/null +++ b/examples/HiRedis/main.cpp @@ -0,0 +1,9 @@ +#include + +int main(int argc, char** argv) { + redisContext *c = nullptr; + redisReply *reply = nullptr; + redisOptions options = { 0 }; + REDIS_OPTIONS_SET_TCP(&options, "127.0.0.1", 6379); + return 0; +} diff --git a/examples/Redis++/CMakeLists.txt b/examples/Redis++/CMakeLists.txt new file mode 100644 index 0000000000..00243737aa --- /dev/null +++ b/examples/Redis++/CMakeLists.txt @@ -0,0 +1,27 @@ +# Copyright (c) 2022, Ronny Nowak +# All rights reserved. + +cmake_minimum_required(VERSION 3.0) + +# Emulate HunterGate: +# * https://github.com/hunter-packages/gate +include("../common.cmake") + +project(download-redis++) + +# DOCUMENTATION_START { +hunter_add_package(HiRedis) +find_package(HiRedis CONFIG REQUIRED) + +hunter_add_package(libuv) +find_package(libuv CONFIG REQUIRED) + +hunter_add_package(Redis++) +find_package(Redis++ CONFIG REQUIRED) + +add_executable(example main.cpp) +target_link_libraries(example PUBLIC redis++::redis++_static uv) +# DOCUMENTATION_END } + +# Test double library creation +find_package(Redis++ CONFIG REQUIRED) diff --git a/examples/Redis++/main.cpp b/examples/Redis++/main.cpp new file mode 100644 index 0000000000..429ddf5742 --- /dev/null +++ b/examples/Redis++/main.cpp @@ -0,0 +1,20 @@ +#include +#include + +using namespace sw::redis; + +int main(int argc, char** argv) { + { + auto r = Redis("tcp://127.0.0.1"); + auto v = r.command>("config", "get", "*"); + } + { + ConnectionOptions opts; + opts.host = "127.0.0.1"; + opts.port = 6379; + ConnectionPoolOptions pool_opts; + pool_opts.size = 3; + auto async_redis = AsyncRedis(opts, pool_opts); + } + return 0; +} diff --git a/examples/libuv/CMakeLists.txt b/examples/libuv/CMakeLists.txt index 1c85f589ba..7f0205d950 100644 --- a/examples/libuv/CMakeLists.txt +++ b/examples/libuv/CMakeLists.txt @@ -22,7 +22,7 @@ message("CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}") find_package(libuv CONFIG REQUIRED) add_executable(example example.c) -target_link_libraries(example libuv::uv) +target_link_libraries(example uv) enable_testing()