的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 ""
)
我知道这里的CMakeLists没有机会包含已解析的软件包,但我甚至无法让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下载项目并链接到它?
答案 0 :(得分:1)
虽然它不直接写在文档中,但cmake-modules部分下描述的CMake功能需要包含特定模块。
由于函数ExternalProject_Add
在标题为“ExternalProject”的documentation page中描述,您需要使用
include(ExternalProject)
使用前。
相同的策略适用于除Find<name>
之外的任何其他模块。这些模块通过
find_package(<name>)