A template for C++ projects built with CMake.
- build with CMake
- continuous integration with Github Actions
- unit testing with googletest
- code coverage with codecov.
Repository content
The included folders are:
- bin/: This folder contains the executable after successful installation together with the configuration files.
- data/: Contains additional data necessary for the simulations, e.g. the solar model tables.
- external/: This folder will only be created and filled during the build with CMake.
- include/: All header files of SOFTWARETITLE can be found here.
- results/: Each run of SOFTWARETITLE generates result files in a dedicated sub-folder named after the run's simulation ID string, which is specified in the configuration file.
- src/: Here you find the source code of SOFTWARETITLE.
- tests/: All code and executable files of the unit tests are stored here.
1. Dependencies
Before we can install SOFTWARENAME, we need to make sure that a few dependencies are taken care of.
- CMake: SOFTWARENAME is built with CMake.
2. Downlad & Installation
The SOFTWARENAME source code can be downloaded by cloning this git repository:
>git clone https://github.com/temken/SOFTWARENAME.git
>cd SOFTWARENAME
The code is compiled and the executable is created using CMake.
>cmake -E make_directory build
>cd build
>cmake -DCMAKE_BUILD_TYPE=Release -DCODE_COVERAGE=OFF ..
>cmake --build . --config Release
>cmake --install .
If everything worked well, there should be the executable SOFTWARENAME in the /bin/ folder.
3. Usage
Once SOFTWARENAME is installed, it can run by running the following command from the */bin/* folder:
>./SOFTWARENAME
- xx.xx.20xx: Release of version 0.1.0
Citing SOFTWARENAME
If you decide to use this code, please cite the latest archived version,
Emken, T., 20xx, SOFTWARENAME [Code, v0.1.0], Astrophysics Source Code Library, record [ascl:xxxx.xxx], [DOI:10.5281/zenodo.xxxxxxx]
Bibtex entry:
@software{SOFTWARENAME,
author = {Emken, Timon},
title = {{SOFTWARENAME [Code, v0.1.0]}},
year = {20xx},
publisher = {Zenodo},
version = {v0.1.0},
doi = {DOI:10.5281/zenodo.xxxxxxx},
url = {https://doi.org/10.5281/zenodo.xxxxxxx},
howpublished={Astrophysics Source Code Library record \href{https://ascl.net/xxxx.xxx}{[ascl:xxxx.xxx]}. The code can be found under \url{https://github.com/temken/SOFTWARENAME}. Version 0.1.1 is archived as \href{https://doi.org/10.5281/zenodo.xxxxxxx}{DOI:10.5281/zenodo.5957388}}
}
Author & Contact
The author of SOFTWARENAME is Timon Emken.
For questions, bug reports or other suggestions please open an issue.
License
This project is licensed under the MIT License - see the LICENSE file.