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 enabledmake build-release- release build of the service with LTOmake test-debug- does amake build-debugand runs all the tests on the resultmake test-release- does amake build-releaseand runs all the tests on the resultmake service-start-debug- builds the service in debug mode and starts itmake service-start-release- builds the service in release mode and starts itmakeormake all- builds and runs all the tests in release and debug modesmake format- autoformat all the C++ and Python sourcesmake clean-- cleans the object filesmake dist-clean- clean all, including the CMake cached configurationsmake install- does amake build-releaseand runs install in directory set in environmentPREFIXmake install-debug- does amake build-debugand runs install in directory set in environmentPREFIXmake docker-COMMAND- runmake COMMANDin docker environmentmake docker-build-debug- debug build of the service with all the assertions and sanitizers enabled in docker environmentmake docker-test-debug- does amake build-debugand runs all the tests on the result in docker environmentmake docker-start-service-release- does amake install-releaseand runs service in docker environmentmake docker-start-service-debug- does amake install-debugand runs service in docker environmentmake docker-clean-data- stop docker containers and clean database data
Edit Makefile.local to change the default configuration and build options.