未知的CMake命令"ExternalProject_Add"; [英] Unknown CMake command "ExternalProject_Add"

查看:550
本文介绍了未知的CMake命令"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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆