{"id":18925630,"url":"https://github.com/jm1/hbrs-cmake","last_synced_at":"2026-01-29T16:35:54.552Z","repository":{"id":69767703,"uuid":"156354451","full_name":"JM1/hbrs-cmake","owner":"JM1","description":"CMake package feat. additional modules and scripts for CMake","archived":false,"fork":false,"pushed_at":"2021-09-20T09:12:16.000Z","size":62,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-12-31T17:48:18.686Z","etag":null,"topics":["cmake","flame","hdf5","lapacke","netcdf","valgrind"],"latest_commit_sha":null,"homepage":"","language":"CMake","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JM1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING-CMAKE-SCRIPTS","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2018-11-06T08:55:12.000Z","updated_at":"2021-09-20T09:17:56.000Z","dependencies_parsed_at":null,"dependency_job_id":"f1cd9555-b88c-42b1-9fe4-5037aec9fa19","html_url":"https://github.com/JM1/hbrs-cmake","commit_stats":{"total_commits":30,"total_committers":1,"mean_commits":30.0,"dds":0.0,"last_synced_commit":"49fbcb3f6ab28dba07fa6f4881e2542459694993"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fhbrs-cmake","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fhbrs-cmake/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fhbrs-cmake/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JM1%2Fhbrs-cmake/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JM1","download_url":"https://codeload.github.com/JM1/hbrs-cmake/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239921844,"owners_count":19718844,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cmake","flame","hdf5","lapacke","netcdf","valgrind"],"created_at":"2024-11-08T11:12:39.890Z","updated_at":"2026-01-29T16:35:54.521Z","avatar_url":"https://github.com/JM1.png","language":"CMake","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CMake package `hbrs-cmake` feat. additional modules and scripts for CMake\n\n`hbrs-cmake` ([GitHub.com][hbrs-cmake], [H-BRS GitLab][hbrs-gitlab-hbrs-cmake]) is [CMake 3][cmake3-tut] package that\nprovides additional modules and scripts for CMake, e.g. to find common software using CMake's `find_package()`, such as\n[`FLAME`][flame], [`gzip`][wiki-gzip], [`LAPACKE`][lapacke], [`objdump`][wiki-objdump], [`perf`][wiki-perf],\n[`valgrind`][valgrind], [`hdf5`][wiki-hdf], [`mpi4py`][mpi4py-ref] and [`netcdf`][netcdf].\n\nIts development started in 2015 as a research project at [Bonn-Rhein-Sieg University of Applied Sciences][hbrs],\nfrom 2016-2019 it was funded partly by BMBF project [AErOmAt][aeromat].\n\nPrimary use cases for `hbrs-cmake` are:\n* [`hbrs-mpl`][hbrs-mpl] ([GitHub.com][hbrs-mpl], [H-BRS GitLab][hbrs-gitlab-hbrs-mpl]),\n  a generic [C++17][wiki-cpp17] library for distributed scientific computing at HPC clusters\n* [`hbrs-theta_utils`][hbrs-theta-utils] ([GitHub.com][hbrs-theta-utils], [H-BRS GitLab][hbrs-gitlab-hbrs-theta-utils]),\n  a postprocessing tool to CFD solvers [TAU and THETA][tau] for data-driven modal decompositions\n* [`python-edamer`][py-edamer] ([GitHub.com][py-edamer], [H-BRS GitLab][hbrs-gitlab-py-edamer]),\n  a Python 3 library for exascale data analysis and machine learning applications\n\n:warning: **WARNING:**\nThis code is still under development and is not ready for production yet.\nCode might change or break at any time and is missing proper documentation.\n:warning:\n\n:warning: **DEPRECATION NOTICE:**\nApparently, this code meets the inevitable fate of many state-funded research projects. It has not been actively worked\non since 2020. **Software consists of teams of people. If you want people to continue developing a project after it ceases\nto be their personal interest, fund them for it.**\n:warning:\n\n## How to build, install and run code using `Docker` or `Podman`\n\nFor a quick and easy start into developing with C++, a set of ready-to-use `Docker`/`Podman` images\n`jm1337/debian-dev-hbrs` and `jm1337/debian-dev-full` (supports more languages) has been created. They contain a full\ndevelopment system including all tools and libraries necessary to hack on distributed decomposition algorithms and more\n([Docker Hub][docker-hub-jm1337], [source files for Docker images][docker-artifacts]).\n\n### Install `Docker` or `Podman`\n\n* On `Debian 10 (Buster)` or `Debian 11 (Bullseye)` just run `sudo apt install docker.io`\n  or follow the [official install guide][docker-install-debian] for Docker Engine on Debian\n* On `Ubuntu 18.04 LTS (Bionic Beaver)` and `Ubuntu 20.04 LTS (Focal Fossa)` just run `sudo apt install docker.io`\n  (from `bionic/universe` and `focal/universe` repositories)\n  or follow the [official install guide][docker-install-ubuntu] for Docker Engine on Ubuntu\n* On `Windows 10` follow the [official install guide][docker-install-windows] for Docker Desktop on Windows\n* On `Mac` follow the [official install guide][docker-install-mac] for Docker Desktop on Mac\n* On `Fedora`, `Red Hat Enterprise Linux (RHEL)` and `CentOS` follow the [official install guide][podman-install] for\n  Podman\n\n### Setup and run container\n\n```sh\n# docker version 18.06.0-ce or later is recommended\ndocker --version\n\n# fetch docker image\ndocker pull jm1337/debian-dev-hbrs:bullseye\n\n# log into docker container\ndocker run -ti jm1337/debian-dev-hbrs:bullseye\n# or using a persistent home directory, e.g.\ndocker run -ti -v /HOST_DIR:/home/devil/ jm1337/debian-dev-hbrs:bullseye\n# or using a persistent home directory on Windows hosts, e.g.\ndocker run -ti -v C:\\YOUR_DIR:/home/devil/ jm1337/debian-dev-hbrs:bullseye\n```\n\nPodman strives for complete CLI compatibility with Docker, hence\n[you may use the `alias` command to create a `docker` alias for Podman][docker-to-podman-transition]:\n```sh\nalias docker=podman\n```\n\n### Build and run code inside container\n\nExecute the following commands within the `Docker`/`Podman` container:\n\n```sh\n# fetch, compile and install hbrs-cmake\ngit clone --depth 1 https://github.com/JM1/hbrs-cmake.git\ncd hbrs-cmake\nmkdir build \u0026\u0026 cd build/\n# install to non-system directory because sudo is not allowed in this docker container\ncmake \\\n    -DCMAKE_INSTALL_PREFIX=$HOME/.local \\\n    ..\nmake -j$(nproc)\nmake install\n```\n\nFor more examples on how to build and test this code see [`.gitlab-ci.yml`](.gitlab-ci.yml).\n\n## License\n\nGNU General Public License v3.0 or later\n\nSee [LICENSE.md](LICENSE.md) to see the full text.\n\n## Author\n\nJakob Meng\n@jm1 ([GitHub.com][github-jm1], [Web][jm])\n\n[//]: # (References)\n\n[aeromat]: https://www.h-brs.de/de/aeromat\n[cmake3-tut]: https://cmake.org/cmake/help/latest/guide/tutorial/index.html\n[docker-artifacts]: https://github.com/JM1/docker-artifacts\n[docker-hub-jm1337]: https://hub.docker.com/r/jm1337/\n[docker-install-debian]: https://docs.docker.com/engine/install/debian/\n[docker-install-mac]: https://docs.docker.com/docker-for-mac/install/\n[docker-install-ubuntu]: https://docs.docker.com/engine/install/ubuntu/\n[docker-install-windows]: https://docs.docker.com/docker-for-windows/install/\n[docker-to-podman-transition]: https://developers.redhat.com/blog/2020/11/19/transitioning-from-docker-to-podman/\n[flame]: https://www.cs.utexas.edu/~flame/web/libFLAME.html\n[github-jm1]: https://github.com/jm1\n[hbrs]: https://www.h-brs.de\n[hbrs-gitlab-hbrs-cmake]: https://git.inf.h-brs.de/jmeng2m/hbrs-cmake/\n[hbrs-gitlab-hbrs-mpl]: https://git.inf.h-brs.de/jmeng2m/hbrs-mpl/\n[hbrs-gitlab-py-edamer]: https://git.inf.h-brs.de/jmeng2m/python-edamer\n[hbrs-gitlab-hbrs-theta-utils]: https://git.inf.h-brs.de/jmeng2m/hbrs-theta_utils/\n[hbrs-cmake]: https://github.com/JM1/hbrs-cmake/\n[hbrs-mpl]: https://github.com/JM1/hbrs-mpl/\n[hbrs-theta-utils]: https://github.com/JM1/hbrs-theta_utils/\n[jm]: http://www.jakobmeng.de\n[lapacke]: https://performance.netlib.org/lapack/\n[mpi4py-ref]: https://mpi4py.readthedocs.io/\n[netcdf]: https://www.unidata.ucar.edu/software/netcdf/\n[podman-install]: https://podman.io/getting-started/installation\n[py-edamer]: https://github.com/JM1/python-edamer\n[tau]: http://tau.dlr.de/\n[valgrind]: http://valgrind.org/\n[wiki-cpp17]: https://en.wikipedia.org/wiki/C++17\n[wiki-gzip]: https://en.wikipedia.org/wiki/Gzip\n[wiki-hdf]: https://en.wikipedia.org/wiki/Hierarchical_Data_Format\n[wiki-objdump]: https://en.wikipedia.org/wiki/Objdump\n[wiki-perf]: https://en.wikipedia.org/wiki/Perf_(Linux)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjm1%2Fhbrs-cmake","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjm1%2Fhbrs-cmake","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjm1%2Fhbrs-cmake/lists"}