You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[](https://github.com/TheLartians/CPM.cmake/actions)[](https://gitter.im/TheLartians/CPM.cmake?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5
5
6
+
<br />
6
7
<palign="center">
7
8
<imgsrc="./logo/CPM.png"height="100" />
8
9
</p>
10
+
<br />
9
11
10
12
# Setup-free CMake dependency management
11
13
@@ -18,6 +20,11 @@ Any downloadable project or resource can be added as a version-controlled depend
18
20
Projects using modern CMake are automatically configured and their targets can be used immediately.
19
21
For everything else, the targets can be created manually after the dependency has been downloaded (see the [snippets](#snippets) below for examples).
20
22
23
+
## Further reading
24
+
25
+
-[CPM: An Awesome Dependency Manager for C++ with CMake](https://medium.com/swlh/cpm-an-awesome-dependency-manager-for-c-with-cmake-3c53f4376766)
26
+
-[CMake and the Future of C++ Package Management](https://ibob.github.io/blog/2020/01/13/cmake-package-management/)
27
+
21
28
## Usage
22
29
23
30
After `CPM.cmake` has been [added](#adding-cpm) to your project, the function `CPMAddPackage` or `CPMFindPackage` can be used to fetch and configure a dependency.
@@ -49,8 +56,6 @@ After calling `CPMAddPackage` or `CPMFindPackage`, the following variables are d
49
56
The difference between `CPMFindPackage` and `CPMAddPackage` is that `CPMFindPackage` will try to find a local dependency via CMake's `find_package` and fallback to `CPMAddPackage` if the dependency is not found.
50
57
This behaviour can be also modified globally via [CPM options](#options).
51
58
52
-
See [this medium article](https://medium.com/swlh/cpm-an-awesome-dependency-manager-for-c-with-cmake-3c53f4376766) for a short tutorial on using CPM.cmake.
53
-
54
59
## Full CMakeLists Example
55
60
56
61
```cmake
@@ -206,7 +211,7 @@ If you know others, feel free to add them here through a PR.
0 commit comments