A C++ service that uses userver framework with PostgreSQL. See the article (ru) for in depth description.
Makefile contains typicaly useful targets for development:
- make build-debug- debug build of the service with all the assertions and sanitizers enabled
- make build-release- release build of the service with LTO
- make test-debug- does a- make build-debugand runs all the tests on the result
- make test-release- does a- make build-releaseand runs all the tests on the result
- make service-start-debug- builds the service in debug mode and starts it
- make service-start-release- builds the service in release mode and starts it
- makeor- make all- builds and runs all the tests in release and debug modes
- make format- autoformat all the C++ and Python sources
- make clean-- cleans the object files
- make dist-clean- clean all, including the CMake cached configurations
- make install- does a- make build-releaseand runs install in directory set in environment- PREFIX
- make install-debug- does a- make build-debugand runs install in directory set in environment- PREFIX
- make docker-COMMAND- run- make COMMANDin docker environment
- make docker-build-debug- debug build of the service with all the assertions and sanitizers enabled in docker environment
- make docker-test-debug- does a- make build-debugand runs all the tests on the result in docker environment
- make docker-start-service-release- does a- make install-releaseand runs service in docker environment
- make docker-start-service-debug- does a- make install-debugand runs service in docker environment
- make docker-clean-data- stop docker containers and clean database data
Edit Makefile.local to change the default configuration and build options.