Giter VIP home page Giter VIP logo

c-test's Introduction

Hello World C-project

This is just a "helloworld" example project.

The only purpose of this project is to use as a scaffolding C language project.

The project uses CMakes to build the executable, and CHEAT for unit testing, that is downloaded from a remote repository the first time the project tests are built. It also has a workflow configured to build and run the tests on GitHub Actions automatically on each push of code.

Build and execute

  1. From the source directory, generate the "Makefile":

    $ cmake .
    
  2. Make the project and generate the executable "helloworld".

    $ make
    
  3. Then execute with:

    $ out/helloworld
    
  4. To install the executable helloworld into /usr/local/bin:

    $ sudo make install
    

    To install into another folder, execute the step 1 overwriting the CMAKE_INSTALL_PREFIX variable, eg. to install into /usr/bin folder:

    $ cmake -DCMAKE_INSTALL_PREFIX=/usr .
    

To clean the compiled binaries and compiled modules:

$ make clean

To clean all compiled files and generated "Makefiles":

$ make clean-all

Tests

Tests are built with CHEAT, a unit testing framework for C/C++.

All of them can be executed with CMake CTest:

$ make test

Or just:

$ ctest

To run the tests and see all the output in the console (specially if the tests fail), first build the project (make), and then execute:

$ out/test_say_hello

About

Source: https://github.com/mrsarm/helloworld

Authors: (2015-2024) Mariano Ruiz [email protected]

License: LGPL-3

c-test's People

Contributors

outofcontrol avatar

Watchers

 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.