Skip to content

Latest commit

 

History

History
69 lines (53 loc) · 3.7 KB

File metadata and controls

69 lines (53 loc) · 3.7 KB

Overview

Requirements

Building currently only works on windows.

The Vulkan-Wrapper itself requires that the VulkanSDK and at least Visual Studio 2017 is installed.

The Examples require the following libraries:

Setup Guide

  1. Download/install/build all dependencies
  2. Move Include/library files etc. into their respective directories where compiler and linker can find them (see File Paths for more info)
  3. Open Vulkan Wrapper.sln with Visual Studio and build. Binaries can be found in /bin/Win32 and /bin/x64, headers in /include.

For step 1 and 2 several scripts have been created to automate this process:

/external/setup_dependencies_vkw.py:

  • finds the latest installed VulkanSDK on the system and copies alle necessary files into their respective directories

/examples/external/setup_dependencies_examples.py:

  • clones* the repositories of assimp, stb_image, gli and glm,
  • downloads glfw binaries for windows and copies them into their respective directories.
  • downloads cmake and automatically builds a Visual Studio solution for assimp for x86 and x64 in /examples/external/assimp/build and /examples/external/assimp/build64, respectively.

examples/external/assimp/copy_libraries.py:

  • copies assimp binaries in to their respective directories

*this step requires either the installation of git on windows or GitPython. For this venv.bat will setup a virtual python envorment in /examples/external/env with GitPython installed

File Paths

The paths for compiler and linker for searching the dependencies are stored in two Visual Studio property sheets, vulkan_client.props and vkw_examples.props. These can easily be manually changed.

vulkan_client.props:

  • used by the wrapper and all examples
  • holds the paths for using: VulkanSDK:
    • include files in /external/Vulkan/include
    • binaries for 32 bit applications in /external/Vulkan/lib32
    • binaries for 64 bit applications in /external/Vulkan/lib64

vkw_examples.props

  • used by all examples
  • holds the paths for using
  • assimp
    • include files in /examples/external/assimp/include
    • binaries for 32 bit applications in /examples/external/assimp/Win32
    • binaries for 64 bit applications in /examples/external/assimp/Win32
  • glfw
    • include files in /examples/external/glfw/include
    • binaries for 32 bit applications in /examples/external/glfw/Win32
    • binaries for 64 bit applications in /examples/external/glfw/x64
  • stb_image
    • include files in /examples/external/stb
  • gli
    • include files in /examples/external/gli/gli
  • glm
    • include files in /examples/external/glm/glm