Quick start to CMake

CMake is a family of tools which mainly serves to build cross-platform applications and libraries written in any of C family languages (C, C++, C#, Objective-C, CUDA).

It is not a compiler, or a construction tool though. Its goal is to generate a solution which will be used to build it. It’s a template consisting information about source files, dependencies and compilation settings that should be used to build a project no matter a platform it is built for or IDE it is used.

The best way to use CMake is via terminal, but many IDEs like CLion or Visual Studio Code integrates CMake into their pipeline.

Does it sound like magic? Only at the beginning. After setting it up for the first time everything becomes extra clear! Let’s check the basics.

Visual Studio Code C++ Quick Start

I was writing about the best IDEs for C++ development lately and I mentioned the Visual Studio Code – the free, open source, powerfull editor that can be easily transformed into a slick environment for C++ coding. But how to do such transform? This is my approach.

In search of the best C++ IDE on Linux

The time has come when I decided to change my default operating system from Windows to Linux (Ubuntu, to be more precise). There were few reasons I did it, but I’m not going to write about them right now. Right now I want to write about my search for the perfect C++ IDE for Linux.

There is a really old joke: “The best program to write C++ in Linux is the Linux itself”. It is well known that hardcore developers write code in Vim, build it by typing compiler’s commands by hand and use GDB in terminal to debug. But I’ve become lazy because of Windows and I really like to have slick and easy to use IDE such as Visual Studio, which… is not available on Linux, unfortunatelly.

I was looking for something similar to the Visual Studio which I’ve got used to. For me – a good IDE should let the programmer focus on programming not on fighting with building pipeline and tons of configurations. Having this in mind, from many IDEs available, I’ve selected few worth mentioning.

C++11 rvalue references usage

Rvalue references are one of the biggest feature introduced to the c++11, but I found it rather difficult to understand and to find a usage for them. It was the issue which was very similar to the understanding c++ traits I had. Now, I’d like to write down all what I’ve learned, in order to remember it better and to share the way I understand it the best. This article is a very quick introduce to why we need rvalue references and why they are awesome!

C++ Traits explained

Traits in C++ is a concept of using templates in order to implement different behaviour for the same class/function depending on the types that are used inside of them.

Ok, so why am I writing about this again?

There are many readings about traits, but for some reason I had trouble with understanding them, probably because of lack of life examples. I finaly got it when I had to use them on my own. So I decided to tell about my work, so maybe it will help someone to understand what it is and what cool stuff can be done with it.