Skip to content

Add CMake support to build system

Dick Hollenbeck requested to merge dickelbeck/procps:master into master

In this work I produced a build system using CMake. It can operate in parallel with the existing build system, and may someday be chosen to replace it. CMake is very strong, simple and well documented. It supports cross-compiling and out of tree builds.

Although the offered CMake build scripts do not yet produce NLS files, this is an easy addition for any one wanting to help contribute. Otherwise for binaries it is working well enough to look at.

For a CMake build, you will generally build "out of tree", never in the source directory. This makes it easy to experiment with cross compilers and Debug and Release builds. All can exist concurrently in separate out of tree build directories.

$ md build $ cd build $ cmake [ -Dprefix=/usr/local ] $ make -j4 $ sudo make install

or don't use sudo if you pointed prefix to a writable directory.

Thereafter simply run make for your recompiles.

You can build a Debug build by doing this instead when invoking cmake:

$ cmake -DCMAKE_BUILD_TYPE=Debug -Dprefix=~/test-cmake-debug-install $ make -j4 $ make install

you do not have to install.

The CMake site has documentation on how to cross compile. That is very comprehensively supported. Email me if you want further help.

Merge request reports