CPP Project with Google test submodule and Github Actions
A toy project showcasing the following features:
cmake
build for C++ project source files;googletest
as a git submodule
;github-actions
pipeline for running build and tests.In short, you see a C++ project that uses google test as a git submodule and integrates a Github CI pipeline (which in Github-terms is called Github actions).
Initially the pipeline run on travis CI. In October 2022 I updated the repo to use Github Actions instead.
I was inspired by the projects from the acknowledgement section, and at the sime time want improve on that: the goal is to use git submodules in order to avoid copying google test in the current repo.
CMakeLists.txt
cmake project filesinclude/
header files (*.h
)src/
source files (*.cpp
)test/
test files (*.cpp
)Use git clone --recursive ...
to download the project and its git submodules.
Otherwise from the project root repository one needs to download the submodules:
git submodule update --init
.
cmake
procedure:cmake -B build
cmake --build build
./build/project1
add_test
function, then the tests can be launch
make test
or ctest
commands../build/runUnitTests
alternatively, in the build
directory, run:
ctest
The acknowledgments go to:
Gunnar and this repository, for providing a minimal working example of gtest, travis-ci, and cmake.
David Y. Zhang and this repo. For setting up a repo with gtest and cmake.
Dr. Konstantin Selyunin, for suggestions/questions/comments please contact: selyunin [dot] k [dot] v [at] gmail [dot] com