Declaration of VAR
61 subscribers
67 photos
173 links
Спутниковый канал моего блоха: https://decovar.dev
Download Telegram
Creating a C++ library with CMake turned out to be not that impossible of a task, but it certainly took me some days to get through the basics and learn about quite a few important specifics.

#blog #cmake #cpp
CMake can handle making packages too - with CPack. I needed to make a deb package, and CPack helped a lot with that task (almost did everything for me).

Then I also needed to host that package in a private APT repository, and that part wasn't too easy.

https://decovar.dev/blog/2021/09/23/cmake-cpack-package-deb-apt/

#blog #cmake #devops #linux #cpp
Managing 3rd-party dependencies in a C++ project with Conan: automatic builds and deployment in TeamCity, storing artifacts in JFrog Artifactory and fetching them for CMake.

#blog #cpp #cmake #devops
vcpkg package manager greatly helps with managing dependencies in a C++ project. Comparing with Conan, in my opinion, it is easier to understand and use (if you already have some experience with CMake).

#blog #cpp #cmake
The CMake's target_link_libraries() function has 3 different scopes: PRIVATE, INTERFACE and PUBLIC. As I am only pretending to be a real developer, I didn't know what they actually mean, and so I tested their effects in practice.

The main goal was to establish in which cases would I need to deliver 3rd-party dependencies (which my project depends on) to my users (whose applications depend on my project).

#blog #cmake #cpp
If a C++ program utilizes multithreading via pthreads, then compiling it with Emscripten into WebAssembly requires setting certain flags for both compiler and linker. In addition to that, web-server that will be hosting the resulting web-application also requires some configuration.

#blog #cpp #web #cmake
While it isn't news that a pre-built C++ library can be loaded in an Android application, I've never done it before, so for me the topic was quite new. As it turned out, the Android's build tool Gradle can work with CMake projects, so the task ended up being easier than I expected.

#blog #android #cpp #cmake