mirror of
https://github.com/KhronosGroup/Vulkan-Hpp.git
synced 2024-10-14 16:32:17 +00:00
6abd3f42a8
Some checks are pending
Set Version Tag / set-version-tag (push) Waiting to run
* Initial build and tests setup * Enable the `CppStdModule` test * Snippets and generator changes * Generated files changes * Enable std module with macro * Unconditionally use `import std` with C++23 * Add support for external `import std` control with `VULKAN_HPP_ENABLE_STD_MODULE` - Rewrite `includes.hpp` and `macros.hpp` - Unconditionally set `VULKAN_HPP_ENABLE_STD_MODULE` for `vulkan.cppm` to bug-fix - Generated necessary files again * Top-level CMake changes * Reorganise logic, and propagate external macro correctly * RAII: vulkan_hpp before ifdef * Define `VK_USE_64_BIT_PTR_DEFINES` in `vulkan_hpp_macros.hpp` * Generate the `VK_USE_64_BIT_PTR_DEFINES` clause from the XML instead of hardcoding it * Refactored handling for `VK_USE_64_BIT_PTR_DEFINES` - Updated condition to positive test for `#ifndef VK_USE_64_BIT_PTR_DEFINES` in `completeMacro` * Added `#include <string.h>` to resolve `strnlen` missing in the module * Use only `std.compat` * FIx after rebase
18 lines
771 B
CMake
18 lines
771 B
CMake
cmake_minimum_required( VERSION 3.30 )
|
|
|
|
target_compile_features( VulkanHppModule PUBLIC cxx_std_23 )
|
|
target_compile_definitions( VulkanHppModule PUBLIC VULKAN_HPP_ENABLE_STD_MODULE )
|
|
|
|
vulkan_hpp__setup_test( NAME CppStdModule CXX_STANDARD 23 LIBRARIES VulkanHppModule NO_UTILS )
|
|
|
|
target_compile_features( CppStdModule PUBLIC cxx_std_23 )
|
|
|
|
if( NOT VULKAN_HPP_SAMPLES_BUILD_ONLY_DYNAMIC )
|
|
if ( VULKAN_HPP_CPP20_MODULE_DYNAMIC_DISPATCHER )
|
|
target_compile_definitions( CppStdModule PUBLIC VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=1 )
|
|
else()
|
|
target_compile_definitions( CppStdModule PUBLIC VULKAN_HPP_DISPATCH_LOADER_DYNAMIC=0 )
|
|
endif()
|
|
target_link_libraries( CppStdModule PRIVATE Vulkan::Vulkan )
|
|
set_target_properties( CppStdModule PROPERTIES CXX_EXTENSIONS OFF )
|
|
endif() |