Commit Graph

64 Commits

Author SHA1 Message Date
Jan Kuhlmann b4d30a5fb5
CI: Added runner for Windows with Clang and Ninja (#2342)
* 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
2025-11-10 14:29:09 +01:00
Jan Kuhlmann 6f9677513d
properly set build type on windows ci (#2336) 2025-11-03 09:07:45 +01:00
Sharadh Rajaraman ed449ac36f
Simplify named module handling and macros (#2303)
* 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
2025-10-09 21:04:11 +02:00
Jan Kuhlmann f522d73454
C++Module: Fixing import std on enum header and using `export import std` when appropriate (#2283)
* 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
2025-09-25 09:02:03 +02:00
Jan Kuhlmann 8578ac94d5
CI: Added bleeding-edge ubuntu ci with clang 19/20 and newest cmake (4.1) (#2285)
* add bleeding-edge ubuntu ci with clang 19/20 and newest cmake

* renamed new ci workflow and removed deprecated code path
2025-09-16 08:29:10 +02:00
Andreas Süßenbach db104e1c01
Add template CppType to get from C-struct types to vk-struct types, valid with C++20 and above. (#2274) 2025-09-04 13:28:57 +02:00
Jan Kuhlmann 60e99671c7
removed g++-12 compiler instance from ubuntu 22 CI (#2257) 2025-08-18 08:32:44 +02:00
Jan Kuhlmann aaf0cb61c4
CI: Reduce build times by reusing generated headers (#2254)
* reuse generated headers inbetween runs

* properly access env var

* fix windows compiler arg

* reintroduce ubuntu24 ci compilers

* fixed CXX_MODULES flag logic

* echoing build parameters, removing use of Ninja from windows CI

* fixed echo and temporarily disabled all but windows CI

* reenabled all ci

* compile glm, glfw and glslang once, fixed SPIRV include path

* remove usage of Ninja from windows ci (again)

* fixed glfw name to glfw3

* removed.. debug things

* remove dep install step from windows, enforce correct linking in utils

* compiling generators in debug mode without running them
2025-08-13 20:30:26 +02:00
Andreas Süßenbach 114936cae2
Remove unused flag VULKAN_HPP_SAMPLES_BUILD_ONLY_DYNAMIC from CI builds (#2243) 2025-08-07 08:17:27 +02:00
Andreas Süßenbach 167bb6afe0
Remove outdated flag VULKAN_HPP_TESTS_BUILD_ONLY_DYNAMIC (#2228) 2025-07-24 19:26:03 +02:00
Andreas Süßenbach 9807eb5164
Use windows-2025 instead of windows-2019 (#2203) 2025-07-01 13:11:26 +02:00
Andreas Süßenbach 30eef2d002
Replace the self-hosted linux runners by the standard ubuntu 24 runners. (#2181) 2025-06-12 17:52:56 +02:00
Andreas Süßenbach ce7006b096
Remove deprecated Ubuntu-20 from CI. (#2136) 2025-04-16 08:32:29 +02:00
Andreas Süßenbach 893cc80cf9
Replace ubuntu24.04 workflow by a self-hosted linux runner (#2123) 2025-04-07 09:33:17 +02:00
Jan Kuhlmann 624143e366
ci: C++20 module testing (#2110)
* added module compilation to ubuntu ci

* added ubuntu 24.04 with clang++-19

* exclude g++-10 from module testing

* exclude clang++-19

* only perform module tests for c++20 and up

* added module option to ci matrix

* added module ci tests for windows, trying out ci ternary

* exclude windows-2019

* ubuntu ci module tests via ternary

* enabled module testing for c++23 in ubuntu

* properly negate c++23 filter

* more concise module flag

* re-trigger ci

* spread out excluded compilers for modules over multiple lines

* fixed json escape sequence

* enable module testing in ci-ubuntu-24

* revert accidental commit of testing opts

* properly convert compiler array to json

* merge Vulkan-Headers submodule version from main

* split up macos runners similar to windows and ubuntu, also enable module compilation

* added macos-15 runner for module testing

* trigger ci

* only test modules for cpp_standard >= 20

* attempt to fix macos module compilation

* revert module attempts on macos

* macos rename + clang++-18 removal, equalized module compilation flag for windows and ubuntu
2025-03-31 14:14:49 +02:00
Andreas Süßenbach fd6e74416c
Split the CI builds on ubuntu into separate runners (#2116) 2025-03-26 08:36:04 +01:00
Andreas Süßenbach 8703963422
Adjust update-header-pr.yml to run with an arbitrary compiler on ubuntu-latest (#2051) 2025-01-21 22:46:52 +01:00
Andreas Süßenbach 2a19ddd7e4
Switch windows workflow from looping over C++ standards to one standard per job (#2050) 2025-01-21 12:21:07 +01:00
Andreas Süßenbach 3e09217b97
Add some comment on windows workflow (#2014) 2024-12-09 12:17:11 +01:00
Andreas Süßenbach 4fb483e6a0
Add CI support for macos-14-large (#1989) 2024-11-06 16:53:08 +01:00
Andreas Süßenbach eaf912017f
Add CI support for ubuntu-24.04 (#1987) 2024-10-31 17:25:04 +01:00
Andreas Süßenbach 17a245e6ec
Remove macos-12 from workflow. (#1986) 2024-10-30 13:34:01 +01:00
Andreas Süßenbach 7d423e64bf
Extend CI to run on ubuntu-20.04 (#1956) 2024-09-04 15:37:01 +02:00
Andreas Süßenbach 1069a086a6
Add g++-14 to MacOS workflow (#1948) 2024-08-21 18:06:26 +02:00
Andreas Süßenbach 3ab9238e91
Add g++-12 to MacOS workflow. (#1945) 2024-08-20 17:34:34 +02:00
Andreas Süßenbach 61bc93f955
Remove gcc-11 for builds on macos (#1942) 2024-08-19 12:31:21 +02:00
Andreas Süßenbach 763e5bf88f
Use clang++-13 with C++23 on ubuntu-latest (#1930) 2024-07-23 14:46:51 +02:00
Andreas Süßenbach 77f6a638a7
Use clang++14 with Cpp-23 on ubuntu-latest (#1921) 2024-07-17 13:18:25 +02:00
Andreas Süßenbach a4cbf9c027
Use clang++-15 with Cpp-23 on ubuntu-latest (#1920) 2024-07-16 14:43:05 +02:00
Andreas Süßenbach 6f72ceca51
Add g++12 for ubuntu builds. (#1914) 2024-07-11 09:36:14 +02:00
Andreas Süßenbach 83b289da71
Remove some failing compilers (macos, ubuntu) from workflow. (#1886) 2024-06-04 11:51:53 +02:00
Andreas Süßenbach 5c9e9edf07
Add macos-13 to workflow. (#1865) 2024-05-07 08:28:31 +02:00
Andreas Süßenbach c1fb25264d
Extend compilers used in workflows on macos and ubuntu (#1863) 2024-05-02 15:51:07 +02:00
Andreas Süßenbach 42a688eb5f
Change CI on MacOS to use macos-12, instead of macos-latest, which is MacOS 14 Arm64, which is a change in architecture (#1853) 2024-04-25 08:27:58 +02:00
Andreas Süßenbach d127fea13f
Loop over cpp_standard and build_type in macos CI (#1766) 2024-01-08 09:02:32 +01:00
Andreas Süßenbach 890e32f27b
Loop over cpp_standard and build_type in ubuntu CI (#1763) 2024-01-04 15:40:18 +01:00
Andreas Süßenbach fafe484a31
Reduce number of jobs in CI by running a loop in a job (#1751) 2023-12-15 19:50:45 +01:00
Andreas Süßenbach f67cfcc229
Use the actual CMAKE_CXX_STANDARD provided by the workflow. (#1750) 2023-12-13 21:56:00 +01:00
Andreas Süßenbach 19dd76bcb4
Change CI on MacOS from macos-11 to macos-latest. (#1749) 2023-12-13 14:50:01 +01:00
Andreas Süßenbach 2e5e845bb9
Add C++23 to the workflow. (#1713) 2023-11-02 08:54:14 +01:00
Stephan Seitz a858acdd90
Update workflow deps (#1667)
* ci: update workflow versions

This should avoid deprecation warnings shown for example in
https://github.com/KhronosGroup/Vulkan-Hpp/actions/runs/6319631419

* ci: set correct CMake options in update-header-pr workflow
2023-09-28 16:39:48 +02:00
Andreas Süßenbach f3cdc24a13
Remove clang++12 from the Ubuntu CI. (#1669) 2023-09-28 10:32:26 +02:00
Andreas Süßenbach 397ffad84a
Fix defines in workflow files to enable compilation of tests and samples in CI. (#1595) 2023-06-20 14:43:35 +02:00
Stephan Seitz f7efd5e55e
ci: bump setup-msvc-dev to v2 (#1513)
This avoids a deprecation warning about Node.js 12 as shown here
https://github.com/KhronosGroup/Vulkan-Hpp/actions/runs/4222600167
2023-02-20 17:48:47 +01:00
Stephan Seitz cae1916b24
ci: fix update-header-pr (tags were not fetched) (#1510)
Run without `git fetch --all --tags`: https://github.com/theHamsta/Vulkan-Hpp/actions/runs/4221771719/jobs/7329463344
Run with `git fetch --all --tags`: https://github.com/theHamsta/Vulkan-Hpp/actions/runs/4221781287/jobs/7329484407
resulting in this PR https://github.com/theHamsta/Vulkan-Hpp/pull/19
2023-02-20 15:57:53 +01:00
Stephan Seitz bd81847c98
ci: only run ci-macos on PRs (like ci-ubuntu/ci-windows) (#1511) 2023-02-20 11:51:44 +01:00
Stephan Seitz 6bae28a680
ci: fix usage of tee to add llvm-snapshot (#1491) 2023-01-23 14:38:48 +01:00
Stephan Seitz 372b8c574d
ci: fix failing clang-format-15 via apt.llvm.org (#1490) 2023-01-23 11:46:28 +01:00
Andreas Süßenbach 442c46318e
Change the CI workflow to work on main branch. (#1484) 2023-01-20 18:51:43 +01:00
scribam 9649d9980b
Update actions/checkout in GitHub Actions (#1482) 2023-01-19 08:11:46 +01:00