未知的CMake命令"ExternalProject_Add"; [英] Unknown CMake command "ExternalProject_Add"
问题描述
我有以下CMakeLists.txt文件:
I have following CMakeLists.txt file:
cmake_minimum_required (VERSION 3.2 FATAL_ERROR)
project (utils VERSION 1.0.0 LANGUAGES CXX)
ExternalProject_Add(json-c
GIT_REPOSITORY "https://github.com/json-c/json-c.git"
UPDATE_COMMAND git pull "https://github.com/json-c/json-c.git"
CONFIGURE_COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/SDL_image/./configure
--prefix=${SDL_INSTALL_DIR}
SOURCE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/json-c
INSTALL_DIR ${CMAKE_CURRENT_BINARY_DIR}
)
我想将json-c库添加到我的项目中,但是当我运行cmake时出现错误:未知的CMake命令"ExternalProject_Add".在OS X上,我的CMake版本是3.6.2
I want to add json-c library to my project, but when I run cmake I'm getting error: Unknown CMake command "ExternalProject_Add". My CMake version is 3.6.2 on OS X
推荐答案
所需的模块应该是cmake安装的一部分.但是您必须使用以下方法将其包含在您的项目中:
The required module should be part of your cmake installation. But you have to include it into your project with:
include(${CMAKE_ROOT}/Modules/ExternalProject.cmake)
在调用externalproject_add(YOUR STUFF HERE)
说明:
CMAKE_ROOT 指向正在使用的cmake安装.所有模块都在子文件夹 Modules 中.
CMAKE_ROOT points to the cmake installation in use. All modules are within subfolder Modules.
您可以使用message(STATUS "CMAKE_ROOT=${CMAKE_ROOT}")
打印当前值.或者您正在为此使用智能宏.参见 CMake
You can print out the current value with message(STATUS "CMAKE_ROOT=${CMAKE_ROOT}")
. Or you are using smart macros for that. See CMake
这篇关于未知的CMake命令"ExternalProject_Add";的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!