Skip to main content

Helper functions with CMake

Project description

CMake Utils

DOI Language grade: Python PyPi versions PyPi Download stats

Actions Status Actions Status Actions Status

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

  • C / C++
  • modern object-oriented Fortran 2008 / 2018
  • Python
  • Matlab / GNU Octave

It's important to use a recent CMake version to be effective and clean with CMake script.

pip install cmakeutils

or

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

Install CMake binary

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 strongly recommended in general for use with CMake on Windows, Mac and Linux:

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.

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.

GNU Octave

Octave from CMake via our FindOctave.cmake works well from CMake for unit tests, liboctave, etc. for Octave ≥ 3.8. We didn't try older versions of Octave.

Matlab

One-time setup: if you've never used mex before, you must setup the C++ compiler. It doesn't hurt to do this again if you're not sure. From Matlab:

mex -setup -client engine C++

Will ask you to select a compiler, or simply return:

ENGINE configured to use 'g++' for C++ language compilation.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cmakeutils-1.8.1.tar.gz (9.8 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page