未编译也许你的变量不包含你认为它们所包含的价值观......仔细检查您的sfml_的价值*变量也仔细检查了CMake的变量GIT_EXECUTABLE有你,包括ExternalProject后所期望的价值...
下的CMakeLists.txt文件中使用的CMake 2.8.5对我的作品在我的Mac:
cmake_minimum_required(VERSION 2.8)
project(SfmlBuilder)
include(ExternalProject)
set(sfml_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/sfml")
set(sfml_INSTALL_DIR "${CMAKE_CURRENT_BINARY_DIR}/sfml")
set(sfml_CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${sfml_INSTALL_DIR})
message("sfml_PREFIX='${sfml_PREFIX}'")
message("sfml_INSTALL_DIR='${sfml_INSTALL_DIR}'")
message("sfml_CMAKE_ARGS='${sfml_CMAKE_ARGS}'")
message("GIT_EXECUTABLE='${GIT_EXECUTABLE}'")
ExternalProject_Add(sfml
PREFIX ${sfml_PREFIX}
GIT_REPOSITORY https://github.com/LaurentGomila/SFML.git
INSTALL_DIR ${sfml_INSTALL_DIR}
CMAKE_ARGS ${sfml_CMAKE_ARGS}
)
它在安装过程中失败了,并带有许可权离子被拒绝,因为我没有运行“make”作为sudo,并且它试图安装到绝对路径“/Library/Frameworks/sndfile.framework”
还有一条建议。我注意到你正在将“/ Applications/CMake 2.8-5.app/Contents/share/cmake-2.8/Modules/FindSFML.cmake”直接安装到CMake安装中......这通常是不鼓励的,因为对CMake的修改如果用户卸载并重新安装CMake,安装很可能会消失。或者干脆升级到另一个CMake。或者使用计算机上也安装的第二个或第三个CMake。
您应该在您自己的安装中创建一个项目配置文件,CMake可以通过它的内置规则找到在标准位置查找软件包。有关项目配置文件的完整详细信息,请阅读CMake find_package文档的细则:
http://cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package