首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >防止在根目录中运行cmake

问防止在根目录中运行cmake
EN

Stack Overflow用户
提问于 2014-07-02 09:43:59
回答 1查看 990关注 0票数 4

有时,我忘了自己在build文件夹中,并在根目录中运行命令。好吧,也许你们中的一些人已经经历过,这在整个文件层次结构中造成了混乱,因为您必须删除CMakeFiles/文件夹、配置文件以及与CPack和CTest相关的文件。我是否可以在根目录下向Makefile添加一些东西,防止我意外地运行cmake?我试图添加一个目标'cmake‘,但这不起作用。

aa

更新

我在here上发现了同样的问题。最后,我采用了在我的.bashrc文件中放置一个函数,如页面中所建议的那样:

代码语言:javascript
复制
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
}
EN

回答 1

Stack Overflow用户

发布于 2014-07-02 09:46:44

如果源目录和二进制目录相同,则可以签入CMakeLists.txt。把这样的东西作为CMakeLists.txt中的第一件事

代码语言:javascript
复制
if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
    message(FATAL_ERROR "Source and build directories cannot be the same.")
endif()
票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24527852

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档