cmake从现有来源生成Xcode项目

时间:2013-05-22 19:49:35

标签: macos cocoa cmake

当我开始生成时,这就是我所拥有的:

iMac:IXCSoftswitch alex$ /usr/bin/cmake -G Xcode .
-- CMAKE_SOURCE_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch,   CMAKE_BINARY_DIR = /Users/alex/Desktop/ixc-v/IXCSoftswitch
CMake Error at CMakeLists.txt:25 (MESSAGE):
  Binary and source directory cannot be the same


-- Configuring incomplete, errors occurred!

我该如何解决?我是cmake的新人,样品很受欢迎。

2 个答案:

答案 0 :(得分:50)

CMake用于生成out-of-source版本。

这里的想法是,您不要将编译期间创建的文件与原始源文件混合在一起。实际上,您通常从一个新的空构建目录运行CMake,并将源目录的路径作为参数。

cd IXCSoftswitch
mkdir build
cd build
cmake -G Xcode ..

CMake生成的所有文件(可能是 lot )现在将进入build子目录,而源目录保持清除构建工件。

源外构建的概念起初可能看起来很奇怪,但是一旦你习惯它,它实际上是一种非常方便的工作方式。

答案 1 :(得分:5)

从项目目录的根目录。

cmake -G Xcode -H. -B_build

这与上面的答案类似。但是,您手动管理源外构建。 -B设置你的目标构建目录(我碰巧更喜欢_build)。我试着抬头看-H要仔细检查,但是找不到它。如果内存服务,它指定您的CMakeLists.txt所在的位置。

我将此命令保存在.sh / .bat文件中(取决于)。这样,我可以保留我的脚本,在新的人可以轻松找到它们的根目录中构建我的项目。