Coder Social home page Coder Social logo

thiago-rezende / cmake-starter-project Goto Github PK

View Code? Open in Web Editor NEW
4.0 1.0 0.0 741 KB

C++ Starter Project Using CMake

License: MIT License

CMake 32.61% C++ 51.80% Shell 4.91% C 10.68%
c-plus-plus-17 c-plus-plus cmake sample-project starter-project cross-platform editorconfig mit-license spdlog linux windows macos unit-testing instrumentation profiler catch2 fmt

cmake-starter-project's Introduction

C++ Starter Project Using CMake

build-status-badge license-badge cpp-badge cmake-badge


Logo

CMake Starter Project

A Simple C++ Starter Project Using CMake
Report Bug · Request Feature . Continuous Integration

  • Libraries Included

  • Features

    • Full featured logger
    • Assertion utilities compatible with the logger
    • Instrumentation for profiling [compatible with chromium tracing]
    • Platform detection utilities
    • Documentation generation with Doxygen
    • Unit testing with Catch2 and CTest
    • CI with GitHub Actions
    • Pre-compiled headers to improve build times
  • Project structure

   .
   ├── .github                         # Repository stuff.
   ├── application                     # Application folder.
   |    ├── assets                     # Assets folder.
   |    ├── core                       # Core functionalities folder.
   |    |    ├── logger.h              # Logger utils.
   |    |    ├── logger.cpp            # Logger utils implementation.
   |    |    └── platform_detection.h  # Platform detection macros.
   |    ├── debug                      # Debug functionalities folder.
   |    |    ├── assert.h              # Assertion utils.
   |    |    └── instrumentor.h        # Profiling utils.
   |    ├── pch.hpp                    # Pre-compiled header.
   |    ├── config.h                   # Populated at config time.
   |    ├── config.h.in                # Template for config.h.
   |    ├── main.cpp                   # Application entrypoint.
   |    └── CMakeLists.txt             # Application CMake build script.
   ├── tests                           # Tests folder.
   |    ├── application                # Application tests.
   |    |    ├── CMakeLists.txt        # Application tests CMake script.
   |    |    └── never_fails.cpp       # Application test file.
   |    └── CMakeLists.txt             # Main CMake tests script.
   ├── vendor                          # Third-party packages will be here.
   |    ├── spdlog                     # Fast C++ logging library.
   |    └── catch2                     # A modern, C++-native, header-only, test framework.
   └── CMakeLists.txt                  # Main CMake build script.

Compatibility

Toolset Windows Linux MacOS
GCC ✔️ ✔️ ✔️
Clang ✔️ ✔️ ✔️
MSVC ✔️ ------- ----------

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.