Skip to content
/ hbrs-cmake Public

CMake package feat. additional modules and scripts for CMake

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE.md
Unknown
COPYING-CMAKE-SCRIPTS
GPL-3.0
COPYING-GPL3
Notifications You must be signed in to change notification settings

JM1/hbrs-cmake

Repository files navigation

CMake package hbrs-cmake feat. additional modules and scripts for CMake

hbrs-cmake (github.com, H-BRS GitLab) is CMake 3 package that provides additional modules and scripts for CMake, e.g. to find common software using CMake's find_package(), such as FLAME, gzip, LAPACKE, objdump, perf, valgrind, hdf5, mpi4py and netcdf.

Its development started in 2015 as a research project at Bonn-Rhein-Sieg University of Applied Sciences, from 2016-2019 it was funded partly by BMBF project AErOmAt.

Primary use cases for hbrs-cmake are:

⚠️ WARNING: This code is still under development and is not ready for production yet. Code might change or break at any time and is missing proper documentation. :warning:

⚠️ DEPRECATION NOTICE: Apparently, this code meets the inevitable fate of many state-funded research projects. It has not been actively worked on since 2020. Software consists of teams of people. If you want people to continue developing a project after it ceases to be their personal interest, fund them for it. ⚠️

How to build, install and run code using Docker or Podman

For a quick and easy start into developing with C++, a set of ready-to-use Docker/Podman images jm1337/debian-dev-hbrs and jm1337/debian-dev-full (supports more languages) has been created. They contain a full development system including all tools and libraries necessary to hack on distributed decomposition algorithms and more (Docker Hub, source files for Docker images).

Install Docker or Podman

  • On Debian 10 (Buster) or Debian 11 (Bullseye) just run sudo apt install docker.io or follow the official install guide for Docker Engine on Debian
  • On Ubuntu 18.04 LTS (Bionic Beaver) and Ubuntu 20.04 LTS (Focal Fossa) just run sudo apt install docker.io (from bionic/universe and focal/universe repositories) or follow the official install guide for Docker Engine on Ubuntu
  • On Windows 10 follow the official install guide for Docker Desktop on Windows
  • On Mac follow the official install guide for Docker Desktop on Mac
  • On Fedora, Red Hat Enterprise Linux (RHEL) and CentOS follow the official install guide for Podman

Setup and run container

# docker version 18.06.0-ce or later is recommended
docker --version

# fetch docker image
docker pull jm1337/debian-dev-hbrs:bullseye

# log into docker container
docker run -ti jm1337/debian-dev-hbrs:bullseye
# or using a persistent home directory, e.g.
docker run -ti -v /HOST_DIR:/home/devil/ jm1337/debian-dev-hbrs:bullseye
# or using a persistent home directory on Windows hosts, e.g.
docker run -ti -v C:\YOUR_DIR:/home/devil/ jm1337/debian-dev-hbrs:bullseye

Podman strives for complete CLI compatibility with Docker, hence you may use the alias command to create a docker alias for Podman:

alias docker=podman

Build and run code inside container

Execute the following commands within the Docker/Podman container:

# fetch, compile and install hbrs-cmake
git clone --depth 1 https://github.com/JM1/hbrs-cmake.git
cd hbrs-cmake
mkdir build && cd build/
# install to non-system directory because sudo is not allowed in this docker container
cmake \
    -DCMAKE_INSTALL_PREFIX=$HOME/.local \
    ..
make -j$(nproc)
make install

For more examples on how to build and test this code see .gitlab-ci.yml.

License

GNU General Public License v3.0 or later

See LICENSE.md to see the full text.

Author

Jakob Meng @jm1 (github.com, Web)

About

CMake package feat. additional modules and scripts for CMake

Topics

Resources

License

Unknown and 2 other licenses found

Licenses found

Unknown
LICENSE.md
Unknown
COPYING-CMAKE-SCRIPTS
GPL-3.0
COPYING-GPL3

Stars

Watchers

Forks