ExternalProject_Add
. 根据文档,我认为要从git存储库下载特定文件,唯一需要做的就是指定URL。但这似乎行不通。
我正试图从中提取headeronly图书馆
https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator
include(ExternalProject)
ExternalProject_Add(vma-external
URL https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator/blob/master/src/vk_mem_alloc.h
SOURCE_DIR "${CMAKE_SOURCE_DIR}/external/VulkanMemoryAllocator"
DOWNLOAD_DIR "${CMAKE_SOURCE_DIR}/external/VulkanMemoryAllocator"
BUILD_COMMAND ""
INSTALL_COMMAND ""
CONFIGURE_COMMAND ""
)
add_library(vma INTERFACE)
add_dependencies(vma vma-external)
target_include_directories(vma SYSTEM INTERFACE external/VulkanMemoryAllocator)
在下面
"Download Step Options"
似乎仅仅指定URL就可以让CMake获取该文件。我最终得到的是一个新的空目录(vulkanmemoryallalocator),但没有CMake错误。我真的不知道我需要做什么。CMake文档中的示例似乎暗示,我甚至不需要走到我要走的那么远,就可以让任何有意义的事情发生(例如:
find_program(MAKE_EXE NAMES gmake nmake make)
ExternalProject_Add(secretsauce
URL http://intranet.somecompany.com/artifacts/sauce-2.7.tgz
https://www.somecompany.com/downloads/sauce-2.7.zip
URL_HASH MD5=d41d8cd98f00b204e9800998ecf8427e
CONFIGURE_COMMAND ""
BUILD_COMMAND ${MAKE_EXE} sauce
)
我没有URL\u HASH或build命令(因为它只是头文件)。我只想让CMake获取文件,这样就可以创建接口目标。