/depend_on_me

Primary LanguageCMakeMIT LicenseMIT

CMake Conan

CMake CPM

CMake Fetch Content

CMake Vcpkg

CMake Root

depend_on_me

Background material created for my talk at NDC TechTown 2021: "Dependency Management in C++"

Talk abstract: Dependency Management in C++

C++ has been slow to settle on standardized tools for building and dependency management. In recent years CMake has emerged as the de facto standard for builds, but dependency management still has no clear winner. In this talk I will look into what dependency management might look like in modern C++ projects and how that relates to security.

Requirements for inclusion

  • Project uses CMake
  • Project uses the dependencies below
  • Dependencies are pulled as a part of the CMake process (CMake integration required)

Dependencies required

  • SFML (version 2.5.1)
  • Catch2 (version 2.13.7)
  • fmt (version 8.0.1)

Tools represented in the repo

Unfinished examples

GitHub Action Workflows

  • All Dependency Managers will be using CMake as its build system
  • All will be tested on the "latest" runners on GitHub Workflow: Linux, MacOS and Windows
  • Caching will be attempted with all - currently implemented for Conan, Vcpkg, CPM and FetchContent