https://github.com/hopson97/conglomerate
A program to combine a C++ or C project into a single "conglomerate" file. Created for the sake of practicing using the C++17 file system module
https://github.com/hopson97/conglomerate
Last synced: over 1 year ago
JSON representation
A program to combine a C++ or C project into a single "conglomerate" file. Created for the sake of practicing using the C++17 file system module
- Host: GitHub
- URL: https://github.com/hopson97/conglomerate
- Owner: Hopson97
- License: mit
- Created: 2018-05-23T11:04:13.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2022-06-18T17:39:27.000Z (about 4 years ago)
- Last Synced: 2025-03-29T11:51:40.297Z (over 1 year ago)
- Language: C++
- Size: 33.2 KB
- Stars: 4
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Conglomerate
Combines a C++ project into a single .cpp file.
This is done by sorting the header files by their dependancies (#include directives from this project), and then spitting them out into a .cpp file, and then putting the source files below.
Any local includes are discarded from the output, as they would not be needed in the conglomerate file (library includes are untouched).
An example of this can be seen for this project [here](https://github.com/Hopson97/Conglomerate/blob/master/glom_output)
# Building
A C++ compiler that supports C++17 is needed
Use CMake to generate your files for building.
`cmake CMakeLists.txt`
# Usage
Add the executable to your path variables.
Open a C++ project root in your favourite terminal and type `glom`. This will will run the program and create and output file in `glom_output/out.cpp`.
### Command line options
| Name | Details | Example |
|-------------|-------------------------------------|---------------|
| `-o ` | Specify the name of the output file | `-o main.cpp` |