带有 cmake 的 Vulkan HPP
Vulkan HPP with cmake
我正在尝试使用带有 fetch_content 的 cmake 包含 vulkan hpp 库(我想自动执行此操作,我不希望用户手动安装 vulkan,如果这是错误的方法请告诉我因为我刚开始使用 cmake),如以下代码片段所示
include(FetchContent)
FetchContent_Declare(
vulkanhpp
GIT_REPOSITORY https://github.com/KhronosGroup/Vulkan-Hpp.git
GIT_TAG b97783be3ed973f4e0d96fc7c680920f5ab0aa3a #1.2.191
)
FetchContent_GetProperties(vulkanhpp)
if ( NOT vulkanhpp_POPULATED )
message ( STATUS "Fetching vulkanhpp" )
FetchContent_Populate(vulkanhpp)
set ( SAMPLES_BUILD OFF CACHE INTERNAL "Build the vulkan hpp samples" )
set ( VULKAN_HPP_INSTALL OFF CACHE INTERNAL "Install vulkan hpp" )
add_subdirectory ( ${vulkanhpp_SOURCE_DIR} ${vulkanhpp_BINARY_DIR} )
endif ()
现在我的问题是,当我放入 cpp 文件时,我不知道如何在我的 main.cpp 文件中包含“include”文件夹:
#include "vulkan/vulkan.hpp"
没有将完整路径放入 CMakeLists.txt 而是使用一些 CMake 变量
我的其他cmake列表如下
include_directories ( "" ) ### what should I put here for include vulkan hpp library ###
# Add source to this project's executable.
add_executable ( example "main.cpp" )
这是自动管理 vulkan hpp 依赖项的正确方法吗?有没有不使用 find_package 的其他选择?
您指定的存储库实际上不包含 Vulkan headers。请改用 this。它提供了一个 CMakeLists.txt
文件,该文件将 headers 添加到名为 Vulkan::Headers
的库中,因此您只需添加子目录,然后使用 target_link_libraries(example PRIVATE Vulkan::Headers)
添加子目录 link。
但你为什么要这样做?要使用 Vulkan,您必须安装 Vulkan SDK(实际库)并且 SDK 还包括 headers.
我正在尝试使用带有 fetch_content 的 cmake 包含 vulkan hpp 库(我想自动执行此操作,我不希望用户手动安装 vulkan,如果这是错误的方法请告诉我因为我刚开始使用 cmake),如以下代码片段所示
include(FetchContent)
FetchContent_Declare(
vulkanhpp
GIT_REPOSITORY https://github.com/KhronosGroup/Vulkan-Hpp.git
GIT_TAG b97783be3ed973f4e0d96fc7c680920f5ab0aa3a #1.2.191
)
FetchContent_GetProperties(vulkanhpp)
if ( NOT vulkanhpp_POPULATED )
message ( STATUS "Fetching vulkanhpp" )
FetchContent_Populate(vulkanhpp)
set ( SAMPLES_BUILD OFF CACHE INTERNAL "Build the vulkan hpp samples" )
set ( VULKAN_HPP_INSTALL OFF CACHE INTERNAL "Install vulkan hpp" )
add_subdirectory ( ${vulkanhpp_SOURCE_DIR} ${vulkanhpp_BINARY_DIR} )
endif ()
现在我的问题是,当我放入 cpp 文件时,我不知道如何在我的 main.cpp 文件中包含“include”文件夹:
#include "vulkan/vulkan.hpp"
没有将完整路径放入 CMakeLists.txt 而是使用一些 CMake 变量
我的其他cmake列表如下
include_directories ( "" ) ### what should I put here for include vulkan hpp library ###
# Add source to this project's executable.
add_executable ( example "main.cpp" )
这是自动管理 vulkan hpp 依赖项的正确方法吗?有没有不使用 find_package 的其他选择?
您指定的存储库实际上不包含 Vulkan headers。请改用 this。它提供了一个 CMakeLists.txt
文件,该文件将 headers 添加到名为 Vulkan::Headers
的库中,因此您只需添加子目录,然后使用 target_link_libraries(example PRIVATE Vulkan::Headers)
添加子目录 link。
但你为什么要这样做?要使用 Vulkan,您必须安装 Vulkan SDK(实际库)并且 SDK 还包括 headers.