Build

cmakepp: Dynamic Calls, Return Values and Exceptions

This post discusses the reasoning, implementation and usage of return values and exceptions in CMake using cmakepp. If you want to use cmakepp (it is very simple to include and under the MIT license and is a single cmake file to be included) go to cmakepp‘s GitHub page: https://github.com/toeb/cmakepp and read how to get it…

cmakepp: Template Generation in CMake

Find it at http://github.com/toeb/cmakepp Download cmakepp standalone file here As with all my work I appreciate all feedback given and am particularly happy about virtual internet points 🙂 To the Post: While working on the documentation of cmakepp I grew wary of always doubling the documentation – one in the source code and a mirror…

Heterogeneous Package Search and Retrieval in CMake

Finding and Retrieving third party sources, tools and binaries is currently a hot subject for C++. There are quite a few solutions (biicode, cpm, hunter, …) Also there is github, bitbucket, source balls etc. Further there are many package managers for many different platforms which also can contain packages (apt-get, chocolatey, nuget, npm, pip, ….).…

Parallel Processes in CMake

If you need to check out multiple large repositories or build and install large separate projects you might want to use parallel processes in CMake. Dividing your tasks to use multiple CMake and or other processes can speed up your build and configuration steps immensely. Since all cmake host OSs support multitasking from the command…

CMake and the Filesystem

Filesystem I have always been a bit confused when working with cmake’s file functions and the logic behind paths (sometimes they are found sometimes they are not…) For ease of use I reimplemented a own path managing system which behaves very similar to powershell and bash (see ss64.com) it is based around a global path…

CTest Integration for VisualStudio

Motivation I have long searched for an extension in VisualStudio which allows you to control kitware’s CTests via the Test Explorer. Since no such thing existed I have developed a workable proof of concept myself :D. This software is currently not in its finished state, It still needs polishing because it can be slow and…

Useful extensions for CMake

When using cmake for more than just simple projects it is lacking in various aspects. Some list and string functions are missing. Interaction with command line applications and the file system are harder than they need to be. Especially however using structured data (maps and objects) and more complex funtional programming is not easy at…