如果之前使用cmake时用的是 in-source build,现在想切换到out-of-source build,必须 先删除 原来生成的 CMakeCache.txt文件,不然即使 按照如下的out-of-source方式进行操作 ,生成的build文件还是in-source 。这个behavior似乎是为了保持对以前cmake版本的兼容性,参见如下bug报告
http://public.kitware.com/Bug/view.php?id=14818
(假设源文件和顶层CMakeList.txt在~/myproj/src )
out-of-source build
$ cd ~/myproj/src
$ mkdir build
$ cmake ..
$ make
in-source build
$ cd ~/myproj/src
$ cmake .