CMakeLists.txt:
cmake_minimum_required(VERSION 3.3)
project(CMakeTest)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
find_package(event-cmake REQUIRED)
file(GLOB SOURCES "*.cpp" )
add_executable(test ${SOURCES})
cmake/Findevent-cmake.cmake:
ExternalProject_Add(event-cmake
GIT_REPOSITORY https://github.com/libevent/libevent.git
UPDATE_COMMAND ""
INSTALL_COMMAND ""
)
我知道这里的 CMakeList 没有机会包含解析的包,但我什至无法让 CMake 下载外部存储库。它错误如下:
CMake Error at cmake/Findevent-cmake.cmake:3 (ExternalProject_Add):
Unknown CMake command "ExternalProject_Add".
Call Stack (most recent call first):
CMakeLists.txt:4 (find_package)
有没有办法让它让 cmake 下载项目并链接到它?
虽然它不是直接写在文档中的,但 cmake-modules 部分描述的 CMake 函数需要包含特定的模块。
由于函数ExternalProject_Add
在标题为"外部项目"的文档页面中描述,因此您需要使用
include(ExternalProject)
在使用之前。
相同的策略适用于除Find<name>
模块以外的任何其他模块。这些模块通过以下方式使用
find_package(<name>)