Build Instructions
To build the project you need a recent compiler supporting C++11 features, e.g. gcc version >= 4.7, clang >= 3.5 or Microsoft Visual Studio 2013 Update 4 (MSVC12) and Qt >= 5.2 installed.
Building the "Kata Tournament Runner" requires CMake Version 2.8. See CMake documentation for more information about building using CMake.
Building the Unittests requires google mock and google test.
Building the feature tests (BDD style tests using Gerkhin) requires Cucumber-cpp by Paolo Ambrosio and Boost (regex, filesystem, date_time, chrono, thread, system).
Generate Visual Studio 2013 solution
- executing the
create_VS2013_solution.bat batch file creates a Visual Studio 2013 solution under vs_build
Linux
-
execute
make prepare
-
make any of the targets provided in the
Makefile
-
all: Build the main application and build and run the unit and feature tests
-
clean: Run cmake target clean and delete the output folder (build/)
-
prepare: Download and build all external dependencies (boost, gmock/gtest, CppSpec, cucumber-cpp)
-
test: Build the individual tests and run cmake target test
-
unittest: Build a single unit test test runner including all unit tests and run it
-
features: Build the cucumber feature tests and run it
-
wip-features: Build the cucumber feature tests and run only the WIP features
-
features-doc: Build the cucumber feature tests and run it producing html output at reports/tests/
-
gui-unittest: Build a single unit test test runner including all unit tests of the gui and run it
-
gui-features: Build the cucumber feature tests of the gui and run it
-
coverage: Build and run the unit test test runner and feature tests with coverage measurement enabled. Generates coverage reports which can be found in reports/coverage/ and JUnit compatible test result reports in reports/tests/
-
memcheck: Build and run the feature tests with valgrind. A report is generated in build/reports
-
cppcheck: Run the cppcheck static code analysis. A report is generated in build/reports
-
rats: Run the RATS static code analysis. A report is generated in build/reports
-
sonar-runner: Make target coverage, memcheck and cppcheck and publish the reports on the SonarQube server
Running Feature tests
See the Cucumber-cpp documentation on how to run the feature tests with cucumber.
Sonar Metrics
In order to generate the code metrics and use sonar for publishing the metrics, sonar-runner, cppcheck, valgrind and Rough Auditing Tool for Security (RATS) are needed. On the sonar server the C++ Community Plugin should be installed.