From d4f3f91509f3e2461ff0dd9d3a904a5605dee499 Mon Sep 17 00:00:00 2001 From: Lars Melchior Date: Tue, 9 Apr 2019 16:35:15 +0200 Subject: [PATCH] Update README.md --- README.md | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f0cd250..ce2e63f 100644 --- a/README.md +++ b/README.md @@ -2,11 +2,11 @@ # CPM -CPM is a very simple package manager written in Cmake. It is extremely easy to use and drastically simplifies the inclusion of other Cmake-based projects from github. +CPM is a very simple package manager written in Cmake based on the amazing [DownloadProject](https://github.com/Crascit/DownloadProject) script. It is extremely easy to use and drastically simplifies the inclusion of other Cmake-based projects from github. # Usage -To add a new dependency to your project simply add the Projects target name, the git URL and a valid git tag or branch. +To add a new dependency to your project simply add the Projects target name, the git URL and the version. If the git tag for this version does not match the pattern `v$VERSION`, then the exact branch or tag can be specified with the `GIT_TAG` argument. ```cmake cmake_minimum_required(VERSION 3.5 FATAL_ERROR) @@ -20,6 +20,7 @@ CPMAddPackage( NAME LarsParser GIT_REPOSITORY https://github.com/TheLartians/Parser.git VERSION 1.2 + GIT_TAG master # optional ) # add executable @@ -27,3 +28,7 @@ set (CMAKE_CXX_STANDARD 17) add_executable(my-parser my-parser.cpp) target_link_libraries(cpm-test LarsParser) ``` + +# Current Limitations + +- First version used: in diamond dependency graphs (e.g. `A` depends on `C`(v1.1) and `A` depends on `B` depends on `C`(v1.2)) the first added dependency will be used (in this case `C`@1.1).