在源代码内构建之后,如何强制CMake在其他地方构建?
假设我有一个名为在源代码内构建之后,如何强制CMake在其他地方构建?,cmake,directory-structure,building,Cmake,Directory Structure,Building,假设我有一个名为foo的项目,其源代码位于/foo/src下。还假设在过去的某个时候,有人运行了cmake/foo/src,因此那里有构建文件 现在,我想在/foo/build中执行foo的构建。但是如果我cd/foo/build;cmake/foo/src-它将/foo/src视为构建目录,并在那里而不是在当前目录中配置和生成构建文件 问题: 为了让cmake在/foo/build中配置和生成生成文件,在/foo/src中要删除的最小文件集是什么 我可以强制cmake使用/foo/build,
foo
的项目,其源代码位于/foo/src
下。还假设在过去的某个时候,有人运行了cmake/foo/src
,因此那里有构建文件
现在,我想在/foo/build
中执行foo
的构建。但是如果我cd/foo/build;cmake/foo/src
-它将/foo/src
视为构建目录,并在那里而不是在当前目录中配置和生成构建文件
问题:
/foo/build
中配置和生成生成文件,在/foo/src
中要删除的最小文件集是什么/foo/build
,而不删除/foo/src
中的任何内容吗CMakeCache.txt
Makefile
cmake_install.cmake
CMakeFiles/
如果您还启用了测试,那么
CTestTestfile.cmake
Testing/
tests/CTestTestfile.cmake
tests/Makefile
tests/cmake_install.cmake
tests/CMakeFiles/
2.如何在不删除的情况下强制执行不同的生成位置:
如果你执行
cmake -B/foo/build -H/foo/src
CMake将忽略上一个构建和/foo/build
下的构建。发出此命令时,不需要将其作为当前工作目录
这个答案的第二部分实际上可以在