Workshop: Modern CMake

Sometimes build system seems to be a necessary evil to for creating your product from your code, but having well designed and organized build system is a one of the keys to success. CMake is that tool that helps to achieve this success. And we are here for helping your team learn, understand and design effective modern CMake build systems. We prepare and organize 3-4 day workshops with a scope tailored to your needs.

Target audience

Programmers having some experience in C or C++

Number of participants

up to 8

Duration

3 – 4 workshop days (7 hours per day) depending on scope and number of participants

Scope

We are aware that every project is different, so we adjust the scope per client. For instance there is no reason to speak about creating installers if your product is embedded software. You can peak topics from this list or even propose yours!

  1. CMake overview
  2. CMake syntax
    • CMake variables
    • Conditions
    • Lists and loops
    • Creating targets
    • Functions and parsing arguments
  3. Modern CMake approach
    • Dividing project on subprojects
    • Connecting targets
    • Adding tests
  4. Configuring project
    • CMake cache
    • Adding definitions
    • Compiler flags
    • Build types
  5. Managing dependencies
    • Dealing with submodules
    • conan
    • vcpkg
    • Creating own find package mechanism
  6. Installing
    • Creating installers
    • Exporting library
  7. Integrating with external tools
    • Run static code analysis with clang-tidy
    • Generating documentation with doxygen
  8. Cross compilation
  9. [Optional] Integrating with popular frameworks
    • Qt applications
  10. Your own topics

Price

Price depends on workshop scope you choose. We offer trainings in two options:

  • Remote: about 2200 – 4200 € net
  • Live training: depends on workshop location
SlawomirGrabowskiImage
Sławomir Grabowski

Experience: Software Engineer & Trainer experienced mostly in building embedded applications as well as 2D and 3D games. Skilled in programming modern User Interfaces, but feels comfortable in writing end-to-end functionalities.

C++ evangelist conducting training and workshops about modern C++ and Test Driven Development. One of the authors of a Quick Turn Studio’s blog. Succeed as UI Developer in projects for Set-Up-Boxes, premium cars and ships, also as UI & Game Core Developer in commercial game project Little Vikings.

After work: implementing own turn-based strategy video game, moderator and player of the social deduction game “Mafia”, president of the housing community, Heroes III and League of Legends player.

Motto: Not modesty, but the humility.

Read more

Copyright © Quick Turn Studio GmbH. All rights reserved.

Copyright © Quick Turn Studio GmbH. All rights reserved.

Log in with your credentials

Forgot your details?