mirror of
https://github.com/KhronosGroup/Vulkan-Hpp
synced 2024-11-24 21:10:12 +00:00
6abd3f42a8
* 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
49 lines
1.9 KiB
CMake
49 lines
1.9 KiB
CMake
# Copyright(c) 2018, NVIDIA CORPORATION. All rights reserved.
|
|
#
|
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
# you may not use this file except in compliance with the License.
|
|
# You may obtain a copy of the License at
|
|
#
|
|
# http://www.apache.org/licenses/LICENSE-2.0
|
|
#
|
|
# Unless required by applicable law or agreed to in writing, software
|
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
# See the License for the specific language governing permissions and
|
|
# limitations under the License.
|
|
|
|
add_subdirectory( ArrayProxy )
|
|
add_subdirectory( ArrayProxyNoTemporaries )
|
|
add_subdirectory( ArrayWrapper )
|
|
if( VULKAN_HPP_ENABLE_STD_MODULE )
|
|
add_subdirectory( CppStdModule )
|
|
endif()
|
|
if( VULKAN_HPP_ENABLE_CPP20_MODULES )
|
|
add_subdirectory( Cpp20Modules )
|
|
endif()
|
|
add_subdirectory( CppType )
|
|
add_subdirectory( DesignatedInitializers )
|
|
add_subdirectory( DeviceFunctions )
|
|
add_subdirectory( DispatchLoaderDynamic )
|
|
add_subdirectory( DispatchLoaderDynamicSharedLibrary )
|
|
add_subdirectory( DispatchLoaderDynamicSharedLibraryClient )
|
|
add_subdirectory( DispatchLoaderStatic )
|
|
add_subdirectory( EnableBetaExtensions )
|
|
add_subdirectory( ExtensionInspection )
|
|
add_subdirectory( Flags )
|
|
add_subdirectory( FormatTraits )
|
|
add_subdirectory( Handles )
|
|
add_subdirectory( HandlesMoveExchange )
|
|
add_subdirectory( Hash )
|
|
add_subdirectory( NoExceptions )
|
|
if( ( "cxx_std_23" IN_LIST CMAKE_CXX_COMPILE_FEATURES ) AND NOT ( ( CMAKE_CXX_COMPILER_ID STREQUAL "Clang" ) AND ( CMAKE_CXX_COMPILER_VERSION VERSION_LESS 15.0 ) ) )
|
|
# This test is for C++23 only... but clang++13 and clang++14 seem to have a problem with it
|
|
add_subdirectory( NoExceptionsRAII )
|
|
endif()
|
|
add_subdirectory( StridedArrayProxy )
|
|
add_subdirectory( StructureChain )
|
|
add_subdirectory( UniqueHandle )
|
|
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
|
|
add_subdirectory( UniqueHandleDefaultArguments )
|
|
endif()
|