未知的 CMake 命令 "ExternalProject_Add"
Unknown CMake command "ExternalProject_Add"
我有以下 CMakeLists.txt 文件:
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"。我的 CMake 版本是 OS X
上的 3.6.2
所需的模块应该是您的 cmake 安装的一部分。但是你必须将它包含到你的项目中:
include(ExternalProject)
在 externalproject_add(YOUR STUFF HERE)
调用之前。参见 Modules
有两个包含变体:
include(<MODULE_NAME_WITHOUT_.cmake>)
include(<FULL_PATH_TO_MODULE_WITH_.cmake>)
模块是普通的 cmake 文件,必须像您自己的模块文件一样包含在内(如果您有)。
变量CMAKE_MODULE_PATH是cmake从中加载模块的所有目录的列表。您可以打印出当前值:
message(STATUS "CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}")
或者您为此使用了智能宏。参见 CMake
虽然它没有直接写在 v3.14 之前版本的文档页面中,cmake-modules 部分描述的 CMake 函数需要包括特定模块.
由于函数 ExternalProject_Add
在标题为“ExternalProject”的 documentation page 中有描述,您需要使用
include(ExternalProject)
使用前
相同的策略适用于除 Find<name>
之外的任何其他模块。这些模块通过
使用
find_package(<name>)
我有以下 CMakeLists.txt 文件:
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"。我的 CMake 版本是 OS X
上的 3.6.2所需的模块应该是您的 cmake 安装的一部分。但是你必须将它包含到你的项目中:
include(ExternalProject)
在 externalproject_add(YOUR STUFF HERE)
调用之前。参见 Modules
有两个包含变体:
include(<MODULE_NAME_WITHOUT_.cmake>)
include(<FULL_PATH_TO_MODULE_WITH_.cmake>)
模块是普通的 cmake 文件,必须像您自己的模块文件一样包含在内(如果您有)。
变量CMAKE_MODULE_PATH是cmake从中加载模块的所有目录的列表。您可以打印出当前值:
message(STATUS "CMAKE_MODULE_PATH=${CMAKE_MODULE_PATH}")
或者您为此使用了智能宏。参见 CMake
虽然它没有直接写在 v3.14 之前版本的文档页面中,cmake-modules 部分描述的 CMake 函数需要包括特定模块.
由于函数 ExternalProject_Add
在标题为“ExternalProject”的 documentation page 中有描述,您需要使用
include(ExternalProject)
使用前
相同的策略适用于除 Find<name>
之外的任何其他模块。这些模块通过
find_package(<name>)