summaryrefslogtreecommitdiff
path: root/CMakeLists.txt
AgeCommit message (Collapse)Author
2020-05-22Allow users to replace allocator and handle OOM everywhere. (#800)Michael Grunder
* Adds an indirection to every allocation/deallocation to allow users to plug in ones of their choosing (use custom functions, jemalloc, etc). * Gracefully handle OOM everywhere in hiredis. This should make it possible for users of the library to have more flexibility in how they handle such situations. * Changes `redisReaderTask->elements` from an `int` to a `long long` to prevent a possible overflow when transferring the task elements into a `redisReply`. * Adds a configurable `max elements` member to `redisReader` that defaults to 2^32 - 1. This can be set to "unlimited" by setting the value to zero.
2020-04-13Fix USE_SSL=1 make/cmake on OSX and CMake tests (#789)Michael Grunder
* Fix linker problems when building with SSL enabled on OSX * Corrects `HIREDIS_SSL=ON` to `USE_SSL=ON` so we test building with SSL enabled on travis.
2020-04-09Added CMake package config and fixed hiredis_ssl on Windows (#783)Michael Grunder
* Add CMake package configuration so hiredis can be more easily included in other projects. * Fixes hiredis_ssl such that it compiles and works in windows Co-authored-by: nrivera <nrivera@blizzard.com> Co-authored-by: Nick <heronr1@gmail.com>
2020-04-07CMake: Set hiredis_ssl shared object version.Yossi Gottlieb
2020-04-02Win32 tests and timeout fix (#776)Michael Grunder
Unit tests in Windows and a Windows timeout fix This commit gets our unit tests compiling and running on Windows as well as removes a duplicated `timeval` -> `DWORD` conversion logic in sockcompat.c There are minor differences in behavior between Linux and Windows to note: 1. In Windows, opening a non-existent hangs forever in WSAPoll whereas it correctly returns with a "Connection refused" error on Linux. For that reason, I simply skip this test in Windows. It may be related to this known issue: https://daniel.haxx.se/blog/2012/10/10/wsapoll-is-broken/ 2. Timeouts are handled slightly differently in Windows and Linux. In Linux, we intentionally set REDIS_ERR_IO for connection timeouts whereas in Windows we set REDIS_ERR_TIMEOUT. It may be prudent to fix this discrepancy although there are almost certainly users relying on the current behavior.
2020-02-27Housekeeping fixes (#764)Michael Grunder
Housekeeping * Check for C++ (#758, #750) * Include `alloc.h` in `make install` and `cmake` * Add a `.def` file for Windows (#760) * Include allocation wrappers referenced in adapter headers * Fix minor syntax errors and typos in README * Fix CI in Windows by properly escaping arguments (#761)
2020-01-28Safe allocation wrappers (#754)Michael Grunder
Create allocation wrappers with a configurable OOM handler (defaults to abort()). See #752, #747
2019-11-03Adding an option to DISABLE_TESTSPaul Botros
Useful when hiredis is used as a CMake dependency in other projects and added via add_subdirectory(). With DISABLE_TESTS on, `make test` in the parent project won't run hiredis tests.
2019-09-01Update CMakelists for hiredis/hiredis_ssl builds.Yossi Gottlieb
Also rename the SSL option from `HIREDIS_SSL` to `ENABLE_SSL` to conform with CMake convnetions.
2019-08-29Update CMakeLists with sslio.c rename.Yossi Gottlieb
2019-07-17Add install adapters header fileskevin1018
2019-04-01CMake: Minor modernizationm
Rely more on transitive dependencies, as provided by TARGET_LINK_LIBRARIES. Avoid using ADD_DEFINITIONS and INCLUDE_DIRECTORIES. This avoids leakage/pollution of defines and includes.
2019-04-01Port network layer to Winsockm
With this change, Hiredis builds with MinGW and runs on Windows.
2019-02-21cmake: ssl disabled by defaultMark Nunberg
2019-02-20CMake: update for SSLMark Nunberg
2019-02-20Obey HIREDIS_SONAME for shared libraryJustin Brewer
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20Call project() with parsed version stringJustin Brewer
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20Enable make testJustin Brewer
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20Generate and install hiredis.pcJustin Brewer
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20Install async.hJustin Brewer
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20Add ENABLE_EXAMPLES option, off by defaultJustin Brewer
Signed-off-by: Justin Brewer <jzb0012@auburn.edu>
2019-02-20Add examples to CMakeListsMark Nunberg
2019-02-20Add CMake system. Initial commitMark Nunberg
This provides a target to build a DSO, as well as the ability to install it.