This repository contains my attempt of an example setup for a cross-platform scientific c++ project.
It uses Cmake for cross platfrom copatibility on Linux and Mac.
This project is tested with the g++ compiler on Linux at the default system location '/usr/bin/g++'. Check if your systems has g++ installed in this location by executing:
which g++
Further check that you have cmake installed on your machine:
cmake --version
Ther required cmake version, as of now, is 3.15 or higher (should be pre-installed on horizon machines).
If you want to build the project on Mac those dependencies can be installed with the homebrew package manager:
brew install g++
brew install cmake
brew install open-mpi
If you are planning to compile this project in a different environment or you experience problems with the build automation of VS codium from above, you can also compile the project with cmake in the terminal (make sure cmake is installed on your machine first):
cmake -B build
cmake --build build --clean-first
This should initialize the build directory and compile the project accoring to the specifications made in the top level CMakeLists.txt. The default name of the compiled project executable is main.
This repository uses a gitlab CICD pipeline in combination with doxygen and GitlabPages in order to automatically host a Code Documentation Website .When you have access to this repository, you should also be able to access this page.
The very same documentation can be locally build when in the top level directory using:
doxygen docs/Doxyfile
Which should result in the generation of a latex and html version of the documentation in respective folders within the docs folder.
This repo should enable a out of the box development automization using VSCodium with the following extensions:
When installing those extensions on the horizon linux machine you will most likely encounter a weird behaviour of clangd, marking stdlib headers as mssing:
This error results from the installation path of the clangd extension under VScodium somewhere on your system, where it cannot detect any library files. It can be resolved by providing the system compiler path as query driver for clangd:
"clangd.arguments": [
"--query-driver=/usr/bin/g++"
],
In your codium settings.json, which you can access easily by pressing CTRL+SHIFT+P and entering "settings" in the search bar.


