diff options
Diffstat (limited to 'docs/CPMUtil/AddDependentPackage.md')
| -rw-r--r-- | docs/CPMUtil/AddDependentPackage.md | 41 |
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. |
