https://github.com/onurozuduru/cpp-project-template
Project template for C++ with CMake, Gtest and a build script
https://github.com/onurozuduru/cpp-project-template
Last synced: 7 months ago
JSON representation
Project template for C++ with CMake, Gtest and a build script
- Host: GitHub
- URL: https://github.com/onurozuduru/cpp-project-template
- Owner: onurozuduru
- License: mit
- Created: 2024-02-13T19:34:03.000Z (over 1 year ago)
- Default Branch: master
- Last Pushed: 2024-12-30T20:23:18.000Z (9 months ago)
- Last Synced: 2024-12-30T21:28:15.637Z (9 months ago)
- Language: Shell
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# cpp-project-template
Project template for c++, includes a build script, example cmake files and [googletest](https://github.com/google/googletest) setup.
## Create New Project
`create_cpp_project.sh` copies the template to the given path and sets project name in cmake file.
It is possible to create link to the script under a directory under `$PATH`, by default `$HOME/.local/bin` is used.```bash
# Give execute permission
chmod +x create_cpp_project# Link script under ~/.local/bin for convenience
./create_cpp_project.sh --install# Create new project
create_cpp_project /path/to/new_project
```## Template Structure
```bash
TemplateProject/
├── .clang-format
├── .gitignore
├── build.sh*
├── CMakeLists.txt
├── exe/
│ ├── CMakeLists.txt
│ ├── include/
│ │ └── logger.h
│ └── source/
│ ├── logger.cpp
│ └── main.cpp
├── libs/
│ ├── CMakeLists.txt
│ └── examplelib/
│ ├── CMakeLists.txt
│ ├── include/
│ │ └── examplelib.h
│ └── source/
│ └── examplelib.cpp
└── test/
├── CMakeLists.txt
└── libs/
├── CMakeLists.txt
└── examplelib/
└── examplelib_test.cpp
```## Project Build Script
Each new project includes `build.sh` script to be able to build with CMake.
The script creates a folder named `build` under the project folder and able pass build type and build with or without tests.