aboutsummaryrefslogtreecommitdiff
path: root/docs/CPMUtil/AddDependentPackage.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/CPMUtil/AddDependentPackage.md')
-rw-r--r--docs/CPMUtil/AddDependentPackage.md41
1 files changed, 41 insertions, 0 deletions
diff --git a/docs/CPMUtil/AddDependentPackage.md b/docs/CPMUtil/AddDependentPackage.md
new file mode 100644
index 0000000000..bb6651e4b8
--- /dev/null
+++ b/docs/CPMUtil/AddDependentPackage.md
@@ -0,0 +1,41 @@
+# AddDependentPackage
+
+Use `AddDependentPackage` when you have multiple packages that are required to all be from the system, OR bundled. This is useful in cases where e.g. versions must absolutely match.
+
+## Versioning
+
+Versioning must be handled by the package itself.
+
+## Examples
+
+### Vulkan
+
+`cpmfile.json`
+
+```json
+{
+ "vulkan-headers": {
+ "repo": "KhronosGroup/Vulkan-Headers",
+ "package": "VulkanHeaders",
+ "version": "1.4.317",
+ "hash": "26e0ad8fa34ab65a91ca62ddc54cc4410d209a94f64f2817dcdb8061dc621539a4262eab6387e9b9aa421db3dbf2cf8e2a4b041b696d0d03746bae1f25191272",
+ "git_version": "1.4.342",
+ "tag": "v%VERSION%"
+ },
+ "vulkan-utility-libraries": {
+ "repo": "KhronosGroup/Vulkan-Utility-Libraries",
+ "package": "VulkanUtilityLibraries",
+ "hash": "8147370f964fd82c315d6bb89adeda30186098427bf3efaa641d36282d42a263f31e96e4586bfd7ae0410ff015379c19aa4512ba160630444d3d8553afd1ec14",
+ "git_version": "1.4.342",
+ "tag": "v%VERSION%"
+ }
+}
+```
+
+`CMakeLists.txt`:
+
+```cmake
+AddDependentPackages(vulkan-headers vulkan-utility-libraries)
+```
+
+If Vulkan Headers are installed, but NOT Vulkan Utility Libraries, then CPMUtil will throw an error.