This C++ service use userver framework.
Steps to use this service:
- Clone the service
- Initialize submodules:
cd timetable_vsu_backend && git submodule update --init
- Use one of make commands
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-debug
and runs all the tests on the resultmake test-release
- does amake build-release
and 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 itmake install-debug
- builds the service in debug mode and install itmake install-release
- builds the service in release mode and install itmake run-debug
- runs installed debug servicemake run-release
- runs installed release servicemake install-run-debug
- builds the service in debug mode install and run itmake install-run-release
- builds the service in release mode install and run itmake
ormake all
- builds and runs all the tests in release and debug modesmake format-all
- autoformat all the C++ and Python sourcesmake format-cpp
- autoformat all the C++ sourcesmake clean-
- cleans the object filesmake dist-clean
- clean all, including the CMake cached configurationsmake install
- does amake build-release
and run install in directory set in environmentPREFIX
make install-debug
- does amake build-debug
and runs install in directory set in environmentPREFIX
make gen
- regenerate source lists for CMake in .genmake check-format-cpp
- сheck formatting in C++ sources, if something is not formatted, an error will be returnedmake check-pep8
- сheck formatting in Python sources, if something is not formatted, an error will be returnedmake check-format-all
- сheck formatting in all sources, if something is not formatted, an error will be returnedmake unite-api
- create united api file(merged_api.yaml)make check-git-status
- сheck if there are changes in filesmake testsuite-debug F='somestring'
- does amake build-debug
and runs all the python tests on the result which are filtred by 'somestring'make testsuite-release F='somestring'
- does amake build-debug
and runs all the python tests on the result which are filtred by 'somestring'
Edit Makefile.local
to change the default configuration and build options.
Use ln -s build_debug/compile_commands.json compile_commands.json
The original template is distributed under the Apache-2.0 License and CLA.