diff options
| author | Phil Christensen <philc@microsoft.com> | 2019-02-28 14:36:23 -0800 |
|---|---|---|
| committer | Phil Christensen <philc@microsoft.com> | 2019-02-28 14:36:23 -0800 |
| commit | 773c8267dfb506f41c204f61042f30b6143a8095 (patch) | |
| tree | 5946d1526c3ad77a2df80786a1370d96389d931b /ports/vulkan | |
| parent | 6afbceb27fd2aa39c66f810a22f5d4ad97575110 (diff) | |
| parent | 7859944528be28bee1fda9f325b78d6a7f02124e (diff) | |
| download | vcpkg-773c8267dfb506f41c204f61042f30b6143a8095.tar.gz vcpkg-773c8267dfb506f41c204f61042f30b6143a8095.zip | |
Merge branch 'master' of https://github.com/microsoft/vcpkg into dev/philc/4564
Diffstat (limited to 'ports/vulkan')
| -rw-r--r-- | ports/vulkan/CONTROL | 3 | ||||
| -rw-r--r-- | ports/vulkan/portfile.cmake | 44 |
2 files changed, 47 insertions, 0 deletions
diff --git a/ports/vulkan/CONTROL b/ports/vulkan/CONTROL new file mode 100644 index 000000000..2d4947d31 --- /dev/null +++ b/ports/vulkan/CONTROL @@ -0,0 +1,3 @@ +Source: vulkan
+Version: 1.1.82.1-1
+Description: A graphics and compute API that provides high-efficiency, cross-platform access to modern GPUs on a wide variety of devices.
\ No newline at end of file diff --git a/ports/vulkan/portfile.cmake b/ports/vulkan/portfile.cmake new file mode 100644 index 000000000..4ccbac35f --- /dev/null +++ b/ports/vulkan/portfile.cmake @@ -0,0 +1,44 @@ +# Due to the complexity involved, this package doesn't install the Vulkan SDK. +# It instead verifies that Vulkan is installed. +# Other packages can depend on this package to declare a dependency on Vulkan. +include(vcpkg_common_functions) + +message(STATUS "Querying VULKAN_SDK Enviroment variable") +file(TO_CMAKE_PATH "$ENV{VULKAN_SDK}" VULKAN_DIR) +set(VULKAN_INCLUDE "${VULKAN_DIR}/include/vulkan/") +set(VULKAN_ERROR_DL "Before continuing, please download and install Vulkan from:\n https://vulkan.lunarg.com/sdk/home\n") + +if(NOT DEFINED ENV{VULKAN_SDK}) + message(FATAL_ERROR "Could not find Vulkan SDK. ${VULKAN_ERROR_DL}") +endif() + +message(STATUS "Searching " ${VULKAN_INCLUDE} " for vulkan.h") +if(NOT EXISTS "${VULKAN_INCLUDE}/vulkan.h") + message(FATAL_ERROR "Could not find vulkan.h. ${VULKAN_ERROR_DL}") +endif() +message(STATUS "Found vulkan.h") + +# Check if the user left the version in the installation directory e.g. c:/vulkanSDK/1.1.82.1/ +if(VULKAN_DIR MATCHES "(([0-9]+)\\.([0-9]+)\\.([0-9]+)\\.([0-9]+))") + set(VULKAN_VERSION "${CMAKE_MATCH_1}") + set(VULKAN_MAJOR "${CMAKE_MATCH_2}") + set(VULKAN_MINOR "${CMAKE_MATCH_3}") + set(VULKAN_PATCH "${CMAKE_MATCH_4}") + message(STATUS "Found Vulkan SDK version ${VULKAN_VERSION}") + + set(VULKAN_REQUIRED_VERSION "1.1.82.1") + if (VULKAN_MAJOR LESS 1 OR VULKAN_MINOR LESS 1 OR VULKAN_PATCH LESS 82) + message(FATAL_ERROR "Vulkan ${VULKAN_VERSION} but ${VULKAN_REQUIRED_VERSION} is required. Please download and install a more recent version from:" + "\n https://vulkan.lunarg.com/sdk/home\n") + endif() +endif() + +if (EXISTS ${VULKAN_DIR}/../LICENSE.TXT) + configure_file(${VULKAN_DIR}/../LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/vulkan/copyright COPYONLY) +elseif(EXISTS ${VULKAN_DIR}/LICENSE.TXT) + configure_file(${VULKAN_DIR}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/vulkan/copyright COPYONLY) +else() + message(FATAL_ERROR "Could not find LICENSE.TXT") +endif() + +SET(VCPKG_POLICY_EMPTY_PACKAGE enabled) |
