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:
- Download/install/build all dependencies
- Move Include/library files etc. into their respective directories where compiler and linker can find them (see File Paths for more info)
- 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
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