* add windows ci testing clang and ninja
* attempt to use multi-config builds on msvc ci
* install deps for windows ci
* temporarily disable ci portions
* try clang-cl
* test x64 only
* try x64 for clang-cl
* specify clang-cl as C compiler
* attempt clang-cl with dep install
* ignore unused variable warning in sample02
* need to specify c compiler as glfw install is not being found
* try to ignore warning in standard clang fashion
* syntax fix
* cast procaddress to void* before final func type cast
* added more windows clang warning suppressions
* disable normal windows ci
* suppress warnings in raii samples
* suppress more warnings for tests
* more unused var suppressions for tests
* disable preinstall of deps in clang to prevent _ITERATOR_DEBUG_LEVEL mismatch
* suppress unused var warnings triggered in release mode
* add warning suppression to flags test
* fixed strided array proxy test
* fix structure chain test
* fix extension inspection test
* reenable all ci workflows
Set Version Tag / set-version-tag (push) Has been cancelledDetails
* Do not export-import `std` as a macro
* Move warning expansion to macros file, and create a macro for it
- Also remove macro for `std.compat` and hardcode it
* Add support for api "vulkanbase"
* Merge internal APIs before processing
After loading the XML, merge internal API blocks into the public ones
so that we don't litter the vulkan and vulkan sc headers with
Base/Compute/Graphics version notations.
* Modify algorithm to merge internal features into public ones.
---------
Co-authored-by: Daniel Koch <dkoch@nvidia.com>
* Remove `VULKAN_HPP_ENABLE_STD_MODULE` macro; unconditionally use `import std;`
* Emit compile-time warning about experimental state for module
* Refactor `#include` guard to use `VULKAN_HPP_CXX_MODULE` for all headers
* Group global namespace exports into block
* Simplify CMake setup for modules
- Raise minimum version to 3.22 (this is what we have in CI)
- Remove duplicated options
- Set up a single option that depends on magic `__CMAKE::CXX23` target; defaults to OFF unless magic UUID set (or future CMake version supports)
* Rebase changes
* Guard C++ module warning with compile-time flag
* Fix macro guard for experimental warning
* Force `<vulkan/vulkan_hpp_macros.hpp>` at the top of includes list
* fix std import on enum header
* remove duplicate contents in cppm
* moved dynamic enabling of std module into macro header
* do not automatically enable import std
* automatic opt-out approach for export import std
* added opt-out option VULKAN_HPP_NO_STD_MODULE
* add VULKAN_HPP_NO_STD_MODULE to CI workflows
* added VULKAN_HPP_NO_STD_MODULE flag to the readme
* set VULKAN_HPP_NO_STD_MODULE to OFF by default
* added import_std exclusion to ubuntu-ext CI