Skip to content

Latest commit

 

History

History
73 lines (48 loc) · 2.3 KB

talk.md

File metadata and controls

73 lines (48 loc) · 2.3 KB

name: inverse layout: true class: center, middle, inverse


Introduction to CMake

.author[Roberto Di Remigio]

.institution[UiT - The Arctic University of Norway]

.institution[Department of Chemistry - Virginia Tech]

.date[14 August 2019, Blacksburg]

.footnote[CC BY 4.0 licensed. Browse slides at http://tinyurl.com/cmake-tutorial-MolSSI]

???


layout: false

Why CMake?

  • Build system generator (cmake)
  • Cross-platform
  • Language-agnostic
  • Test orchestration (ctest)
  • Packaging (cpack)
  • Test reporting (cdash)

De facto standard

CMake times

.footnote[Data downloaded from https://trends.google.com on 2019-08-10.]


What is CMake?

CMake times


Where to find more details


Hands-on exercises

Prerequisites:

  • Working C, C++, and Fortran compilers
  • The Make and Ninja build tools
  • A fork of robertodr/cmake-tutorial

Exercises:

  1. Build a source file into an executable (code).
  2. Build library and executable for a project with dependencies (code).
  3. Unit testing with Catch2 (code).
  4. Mixed-language projects and testing (code).
  5. More on unit testing with Catch2 (code).