Skip to content

The best practices of modern CMake consolidated into a collection of C++ projects.

Notifications You must be signed in to change notification settings

ChristianHinkle/MeddySDK

Repository files navigation

MeddySDK

A superproject providing all the libraries Meddy has to offer. Each one is individually usable, although some may depend on others.

Project Structure 📂

MeddySDK

These projects are built together using FetchContent in CMake. This means they configure together (all from the same invocation of CMake), which makes debugging and development easier with the subprojects.

There is also a "superbuild" version of this project structure which uses ExternalProject in CMake to configure each project in isolation, before they get built together. See: MeddySDKSuperbuild.

Build System ⌨

Built with CMake - cross-platform, standardized, and IDE-friendly.

We provide CMake presets, which handle feeding arguments to CMake for you.

IDE Support

Most IDEs provide built-in CMake integration.

VS Code

Has the "CMake Tools" and "C/C++" extensions, both developed by Microsoft.

Visual Studio

Has very nice integration, but they seem behind when it comes to supporting the latest CMake features. I've had experiences where I have to switch to VS Code because of this.

Build Instructions 🔨

This project is fully isolated from its dependencies, and therefore must be tied together by a superproject. See MeddySDKStandalone for a complete build setup.

1. Invoke CMake on the Project (the Configure Step)

Command line: cmake --preset="win-debug-default".

IDE: Choose the win-debug-default configure preset, and "configure" the CMake project.

2. Invoke a Build Command

Command line: cmake --build --preset="win-debug".

IDE: Choose the win-debug build preset, and "build" it.

Package Instructions 📦

Here's how to package the build into a distributable product.

1. Build the Project

See "Build Instructions" above.

2. Invoke CPack

Command line: cpack --preset="meddysdkcli-win-debug-nsis".

IDE: Choose the meddysdkcli-win-debug-nsis package preset, and "package" it.

Test Instructions 🧪

Here's how to run automated tests, to verify that our code behaves as intended.

1. Build the Project

See "Build Instructions" above.

2. Invoke CTest

Command line: ctest --preset="meddysdk-win-debug".

IDE: Choose the meddysdk-win-debug test preset, and "run tests".

About

The best practices of modern CMake consolidated into a collection of C++ projects.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages