Skip to content

A template for Vulkan C++ projects with GLFW, GLM and ImGUI using CMake, CI, Conan and doctest

License

Notifications You must be signed in to change notification settings

florianvazelle/VulkanStarter

Repository files navigation

GitHub Workflow Status (branch)

VulkanStarter

This is a template to setting up a new Vulkan C++ project.

Features

  • Sources, headers and mains separated in distinct folders
  • Use of modern CMake for much easier compiling
  • Automatically compile shaders with glslValidator
  • Integrated test suite using Doctest
  • Continuous integration via GitHub Actions
  • Support Conan package manager to quick install your package

Building

Build and run the standalone target

Use the following command to build and run the executable target.

cmake -Bbuild
cmake --build build
./build/bin/VulkanStarterStandalone

Build and run test suite

Use the following commands from the project's root directory to run the test suite.

cmake -Bbuild
cmake --build build
./build/bin/VulkanStarterTests

Dependencies

  • C++17 compiler :
    • Visual Studio 2016
    • GCC 7+ or Clang 8+
  • Conan for install packages
  • Git for cmake automatic dependencies
  • CMake for build system creation (>= 3.12)
  • Doxygen for generate documentation (>= 1.8, optional)

References