Skip to content

Commit 988c43e

Browse files
authored
Update README.md
1 parent a30593e commit 988c43e

File tree

1 file changed

+4
-2
lines changed

1 file changed

+4
-2
lines changed

README.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,15 @@
11
# Overview
22

3-
Template repository to be used as a base for creating C++ libraries built with CMake. This repository provides:
3+
Simple template repository to be used as a base for creating C++ libraries built with CMake. This repository provides:
44
* Commonly accepted directory layout: `cmake` for CMake utilities and package config, `include/<libname>` for public headers, `src` for library sources and private headers, `examples` and `tests` for library examples and tests correspondingly.
55
* `CMakeLists.txt` files thoroughly implemented with the following ideas in mind:
66
* user should be able to build library both as subproject (probably fetched with CMake's [FetchContent_MakeAvailable](https://cmake.org/cmake/help/latest/module/FetchContent.html)) and as a stand-alone project
77
* user should be able to build examples/tests as part of the library build or as a stand-alone projects
88
* multi-configuration CMake generators should be supported
99
* package systems (conan, vcpkg and others) should be respected, which means that library `CMakeLists.txt` file should contain only **build requirements**, i.e. should not hardcode any compiler/linker flags unless they are absolutely required to build the library
1010
* Basic [preset](https://cmake.org/cmake/help/latest/manual/cmake-presets.7.html) file `CMakePresets.json` which is a modern way (since CMake 3.19) for specifying build options (instead of hardcoding them in the `CMakeLists.txt` or setting on the command line)
11-
* My personal `.clang-format` for code-style worth trying
11+
* My personal worth trying `.clang-format` for code-style
1212

1313
Note, that I prefer [googletest](https://github.com/google/googletest) as a testing framework so it's the one used in this repository. Still it's not a big deal to replace it with any other of your choice.
14+
15+
See also [cmake-init](https://github.com/friendlyanon/cmake-init) which is developed under the same principles as this repository but offers much more: CMake executable/library project generation, support for linter/coverage tools for generated projects, etc.

0 commit comments

Comments
 (0)