-
Notifications
You must be signed in to change notification settings - Fork 555
Compilation and installation options
By default, the make install
command will install the library globally in your system (/usr/lib
for example).
You can change that location by using a dedicated cmake option:
cmake -DCMAKE_INSTALL_PREFIX=/destination/path ..
By default, all lines of code related to logging are suppressed at the preprocessing step.
This is done to provide higher performance by avoiding the execution of unnecessary lines of code related to logging even though no logger has been configured.
If you wish to enable logging, you have to disable that default behavior by setting the CMake variable LOGGING_ENABLED
.
# Enable logging
cmake .. -DLOGGING_ENABLED=1
# Change the read size used to read data from sockets (default value: 4096)
cmake .. -DREAD_SIZE=4096
This option is ignored on Windows.
On Linux & Mac, cpp_redis
handles IO by using the poll
syscall.
poll
receives an array of FDs as a parameter. cpp_redis
uses a fixed-size array of FD.
This fixed-size can be configured by setting the MAX_NB_FDS
CMake variable.
# Change the maximum number of polled FDs (default value: 1024)
cmake .. -DMAX_NB_FDS=1024
This option is ignored on Linux and Mac environments.
On Windows, the io_service is multithreaded: multiple workers are in charged of IO operations and call the underlying read and write callbacks.
You can configure the default number of workers assigned to the io_service by setting the DEFAULT_NB_IO_SERVICE_WORKERS
CMake variable.
# Change the default number of io_service workers (default value: 16)
cmake .. -DDEFAULT_NB_IO_SERVICE_WORKERS=16
To learn more about cpp_redis io_service
, please refer to the dedicated wiki page.
cmake .. -DBUILD_TESTS=true
You will also need to install some dependencies required to build the tests (GoogleTest).
This can be done by executing the install_deps.sh
script, located in the root of the repository. This script installs the dependencies locally: no dependency is installed globally in your system.
cmake .. -DBUILD_EXAMPLES=true
Need more information? Contact me.