Giter VIP home page Giter VIP logo

gtest_submodule's Introduction

Cmake + googletest (git submodule) + Github actions

A toy project showcasing the following features:

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.

Directory structure

Cloning the project

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.

Building the project

  1. Creating the executables follows standard cmake procedure:
cmake -B build
  1. Compile the code (it will also compile the gtest for the first time):
cmake --build build
  1. Run executable:
./build/project1
  1. Cmake supports add_test function, then the tests can be launch make test or ctest commands.
./build/runUnitTests

alternatively, in the build directory, run:

ctest

Acknowledgement

The acknowledgments go to:

Maintainer

Dr. Konstantin Selyunin, for suggestions/questions/comments please contact: selyunin [dot] k [dot] v [at] gmail [dot] com

gtest_submodule's People

Contributors

selyunin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.