Modern Development Environment for C++: Part 2 | Object Partners
Summary
Commit number two brings in the single largest addition to the project: support for Google Test and its included mocking framework. There are some extra features added in this commit – beyond the minimum requirement to link against and include its headers: • A target is added as a workaround for the fact that is not tied into the CMake build system and therefore will not build or rebuild test targets when source files change • An environment variable is checked and, if defined, used for all GTest output files. In an effort to remain as DRY and flexible as possible, the SonarQube properties file is generated at CMake configuration time, rather than hand-written by the project maintainer or jumpstart. One note worth making: the assignment of the CMake variable is moved as part of this commit out of the script and into the root so that it is available for use when SonarQube’s properties file is generated. Because the version number for a project is constantly changing and required by both the Conan recipe and the CMake scripts, it is defined in a standalone text file to be read in by each tool as necessary.