Skip to content
Helpful scripts and modules for CMake, especially for scientific computing, HPC, and Fortran
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
build move bin to build [skip ci] Jan 17, 2019
cmake/Modules move to scivision/lapack-cmake Mar 7, 2019
cmakeutils correct path path Jun 12, 2019
fetchgit move bin to build [skip ci] Jan 17, 2019
fortran init Jan 24, 2019
matlab cmake 3.13.3 [skip ci] Jan 18, 2019
mpi octave .m ok meson Jan 25, 2019
octave explicit test location Jan 28, 2019
openmp cleanup [skip ci] Mar 6, 2019
system move bin to build [skip ci] Jan 17, 2019
zip move bin to build [skip ci] Jan 17, 2019
.appveyor.yml appveyor params [skip travis] Mar 17, 2019
.flake8 better auto git version get May 10, 2019
.gitattributes lf Dec 10, 2018
.gitignore better auto git version get May 10, 2019
.travis.yml better auto git version get May 10, 2019
CMakeLists.txt move to scivision/lapack-cmake Mar 7, 2019
LICENSE.txt meta template Jun 12, 2019
README.md badge [skip ci] Apr 1, 2019
cmake_compile.sh git >= 2.18 [skip ci] Feb 19, 2019
cmake_setup.py
cmake_setup.sh better cmake setup defaults [skip ci] Mar 22, 2019
mypy.ini better auto git version get May 10, 2019
setup.cfg correct path path Jun 12, 2019
setup.py

README.md

Build Status Build status DOI PyPi versions PyPi Download stats

CMake Utils

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. SSL support is also essential for any download/upload with CMake.

Install CMake

We have created the Python script cmake_setup.py takes only a minute to install binary and includes cmake-gui. It works for Linux, Mac, native Windows and Windows Subsystem for Linux.

python cmake_setup.py

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.

CMake modules

To avoid duplication, we have several scientific computing CMake modules in scivision/fortran-libs repo.

You can’t perform that action at this time.