CMake for Windows: A Concrete Protobuf Example in C++
On Windows for my version of CMake the find_package searches this folder: C:\Program Files\CMake\share\cmake-4.2\Modules This is where the CMake Protobuf definitions are!
On Windows for my version of CMake the find_package searches this folder: C:\Program Files\CMake\share\cmake-4.2\Modules This is where the CMake Protobuf definitions are!
“A big stash allows me to have a fluid sense of creativity - a looseness that is very much like playing. It opens me up, unlocks things. The creative bit takes all the other pieces - the possibility, the abundance, the connections, and the actual work of making yarn -
"By dint of building well, you get to be a good architect." – Aristotle I have been using CMake since about 2008 for many of my C++ projects. I highly recommend it for cross-platform development. It can generate Makefiles, but for the last few years it has expanded to
Let our advance worrying become advance thinking and planning. -- Winston Churchill Photo by "My Life Through A Lens" on Unsplash GNU Make is often included within a complex ecosystem of Integrated Development Environments, build systems (such as boost.build, CMake, ninja, SCons, and/or waf), and compilers.
Introduction GNU Make is a common tool for creating software among Linux developers. Other build systems include waf, cmake, autoconf, and ninja. A list of build systems can be found on Wikipedia. Advantages to using Make include: * It has been around a long time. As such, it is on most
“I don’t doubt at all that virtualization is useful in some areas. What I doubt rather strongly is that it will ever have the kind of impact that the people involved in virtualization want it to have.” — Linus Torvalds per quotefancy.com This article would not be possible without
“A very little key will open a very heavy door.” - Charles Dickens Thanks a lot to Joshua Mitchell for reviewing and correcting this article! And thanks to my wife Evie who edits most of the content of all of my articles! Among the more common questions I get is
“Every man is a volume if you know how to read him.” – William_Ellery_Channing Docker containers and images are all well and good for things like isolation, consistency, and relatively straightforward scalability. But what if we have a need to remember things between container runs such as populating a
“The abstract kills, the concrete saves.” ― Sylvia Plath, The Unabridged Journals of Sylvia Plath This is part of a series of posts on Network Sockets. Last time we covered sockets in general. Today’s tutorial will focus on the process of creating a Network socket between a single machine on
“The network is the computer.” - Scott McNealy This page is a basic introduction to network socket programming in general. Network Socket Definition According to Wikipedia a network socket – hereafter sometimes simplified as only “socket” - is defined as: A network socket is a software structure within a network node
By its very nature, history is always a one-sided account. Dan Brown, The Da Vinci Code Before committing that final version of your pull or merge request, it is often useful to know how to use a feature of git called interactive rebasing. According to the documentation, rebasing is just
“There is nothing so useless as doing efficiently that which should not be done at all.” — Peter Drucker Update - Aug 2021 Here is a great article on the tussle between Agile and Waterfall methodologies. As a long-time fan of the Toyota Production System it is a fascinating read. Waterfall
“In the early days of the personal computer, there were many choices of operating system; today, there are many solutions available to choose from for a virtualization strategy.” ― Matthew Portnoy, Virtualization Essentials Recently at my job I have been dragged back re-entered the world of Red Hat Enterprise Linux. They
“Building technical systems involves a lot of hard work and specialized knowledge: languages and protocols, coding and debugging, testing and refactoring.” - Jesse James Garrett This took me longer than I care to admit to figure out. Hence I wrote this tutorial in the hope of saving someone out there
The fallacies of distributed computing are a set of assertions made by L Peter Deutsch and others at Sun Microsystems: The network is reliable; Latency is zero; Bandwidth is infinite; The network is secure; Topology doesn't change; There is one administrator; Transport cost is zero; The network is
Written By Michael Day “Anyone who considers protocol unimportant has never dealt with a cat.” -- Robert A. Heinlein I have been using protocol buffers on and off for around 10 years. The Wikipedia page is here: https://en.wikipedia.org/wiki/Protocol_Buffers and the documentation is at: https:
Introduction Python’s argparse module makes parsing command line arguments a breeze. The argparse library allows: * Positional arguments * Customization of prefix characters * Variable numbers of parameters for a single option * Subcommands I’ll be doing this in Ubuntu 18.04, but this should apply to all Linux distributions. Since Python
Behavior is the mirror in which everyone shows their image. – Johann_Wolfgang_von_Goethe The book referenced below is: Docker Deep Dive: Zero to Docker in a Single Book, Nigel Poulton. https://learning.oreilly.com/library/view/docker-deep-dive/9781837028351/ Docker was very tricky for me to get my head around
Architecture is basically a container of something. I hope they will enjoy not so much the teacup, but the tea. – Yoshio Taniguchi Docker has taken the world by storm. Initially released in 2013, https://en.wikipedia.org/wiki/Docker_(software) it has grown to be a major contributor to OS-level_