https://github.com/stefanhamminga/cpp_lib_scripts
Scripts for managing C++ header-only libraries
https://github.com/stefanhamminga/cpp_lib_scripts
c-plus-plus cmake cpp documentation library
Last synced: about 1 year ago
JSON representation
Scripts for managing C++ header-only libraries
- Host: GitHub
- URL: https://github.com/stefanhamminga/cpp_lib_scripts
- Owner: StefanHamminga
- Created: 2018-01-01T11:01:27.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2018-11-12T07:30:12.000Z (over 7 years ago)
- Last Synced: 2025-02-05T07:49:22.463Z (over 1 year ago)
- Topics: c-plus-plus, cmake, cpp, documentation, library
- Language: CMake
- Size: 70.3 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: license/Apache-2.0
Awesome Lists containing this project
README
# Scripts for managing C++ header-only libraries
## Required software
```bash
# Linux bash tools (find, sed, etc)
git
CMake # Generates build, test, and documentation files
doxygen # Used to convert source comments to documentation files
latex # Used by Doxygen
python # Convert GCC RTL call graph information (`-fdump-rtl-expand`) to GraphViz .dot files
graphviz # Generates pretty call graph pictures
```
## Usage
This set of scripts is mean to be usable as-is and as a template.
As-is use can be done through Git submodule:
```bash
mkdir my_library
cd my_library/
git init
# Obtain your local copy of the scripts and enable remote updating
git submodule add -b master https://github.com/StefanHamminga/cpp_lib_scripts scripts
# A slightly more extended C++ tailored ignore file
ln -s scripts/.gitignore
# Use the default CMake configuration
ln -s scripts/CMakeLists.txt
mkdir test build
```
Optionally select a license.
To use the GCC C++ Standard Library license, as described [here](https://gcc.gnu.org/onlinedocs/libstdc++/manual/license.html), add this:
```bash
ln -s scripts/license/GPL-3 COPYING
ln -s scripts/license/COPYING.RUNTIME
$ cat << EOF > LICENSE
License
=======
The source code in this repository is distributed under the GNU General Public
License version 3, with the addition under section 7 of an exception described
in the “GCC Runtime Library Exception, version 3.1”.
Both texts are included as the files COPYING and COPYING.RUNTIME respectively.
EOF
```
If you prefer, the more liberal Apache 2.0 license is included too:
```bash
ln -s scripts/license/Apache-2.0 LICENSE
```
To update the scripts:
```bash
git submodule update --remote
```
## Authors and license
This library is written by [Stefan Hamminga](stefan@prjct.net) and may be freely shared, distributed and modified according to the terms of the Apache 2.0 license (included as the file `license/Apache-2.0`).
## Repository
[https://github.com/StefanHamminga/cpp_lib_scripts](https://github.com/StefanHamminga/cpp_lib_scripts)