有时,我忘了自己在build文件夹中,并在根目录中运行命令。好吧,也许你们中的一些人已经经历过,这在整个文件层次结构中造成了混乱,因为您必须删除CMakeFiles/文件夹、配置文件以及与CPack和CTest相关的文件。我是否可以在根目录下向Makefile添加一些东西,防止我意外地运行cmake?我试图添加一个目标'cmake‘,但这不起作用。
aa
更新
我在here上发现了同样的问题。最后,我采用了在我的.bashrc文件中放置一个函数,如页面中所建议的那样:
function cmake() {
# Don't invoke cmake from the top-of-tree
if [ -e "CMakeLists.txt" ]
then
echo "CMakeLists.txt file present, cowardly refusing to invoke cmake..."
else
/usr/bin/cmake $*
fi
}发布于 2014-07-02 09:46:44
如果源目录和二进制目录相同,则可以签入CMakeLists.txt。把这样的东西作为CMakeLists.txt中的第一件事
if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
message(FATAL_ERROR "Source and build directories cannot be the same.")
endif()https://stackoverflow.com/questions/24527852
复制相似问题