aboutsummaryrefslogtreecommitdiff
path: root/ports/vulkan
diff options
context:
space:
mode:
authorPhil Christensen <philc@microsoft.com>2019-02-28 14:36:23 -0800
committerPhil Christensen <philc@microsoft.com>2019-02-28 14:36:23 -0800
commit773c8267dfb506f41c204f61042f30b6143a8095 (patch)
tree5946d1526c3ad77a2df80786a1370d96389d931b /ports/vulkan
parent6afbceb27fd2aa39c66f810a22f5d4ad97575110 (diff)
parent7859944528be28bee1fda9f325b78d6a7f02124e (diff)
downloadvcpkg-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/CONTROL3
-rw-r--r--ports/vulkan/portfile.cmake44
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)