Helper functions with CMake


Keywords
CMake, cmake-modules, gnu-octave
License
MIT
Install
pip install cmakeutils==1.9.2

Documentation

CMake Utils

DOI Language grade: Python PyPi versions PyPi Download stats

Actions Status

CMake is a powerful and easy to use build system for a wide variety of languages including:

It's important to use a recent CMake version to be effective and clean with CMake script. This can be done via the Python package described below, or from CMake >= 2.8.12 by:

cmake -P install_cmake.cmake

if you need to compile CMake from source, for example on BSD or ARM 32-bit using existing CMake >= 3.13:

cmake -P build_cmake.cmake

Install

pip install cmakeutils

or

git clone https://github.com/scivision/cmakeutils
pip install -e cmakeutils

convert CMake hierarchy .dot to SVG or PNG

CMake plots dependency graphs for programs like:

cmake -B build --graphviz=gfx/block.dot

Then convert to PNG or SVG like:

python -m cmakeutils.graph ~/myprog/gfx

Install CMake binary

python -m cmakeutils.cmake_setup

takes only a minute to install binary and includes cmake-gui. It works for Linux, MacOS, native Windows and Windows Subsystem for Linux.

Ninja is recommended in general for use with CMake on Windows, Mac and Linux:

python -m cmakeutils.ninja_setup

Build CMake

CMake can be builts from source using either:

  • older version of CMake,
  • without CMake using the "bootstrap" method

The bootstrap method is only for Unix-like systems, while the CMake-based build can also be used on Windows. Any platform for which Kitware doesn't distribute binaries use this script, including IBM Power and ARM.

python -m cmakeutils.cmake_compile

This downloads the latest CMake release source and builds from scratch.

Requirements:

  • SSL library
  • C++ compiler
  • GNU Make or Ninja

Examples

  • Download with git using FetchContent
  • Download and extract ZIP
  • measure system parameters with CMake. Note Cygwin reports really small RAM and zero virtual memory.