gpt4 book ai didi

makefile - 防止在根目录中运行 cmake

转载 作者:行者123 更新时间:2023-12-02 21:56:06 25 4
gpt4 key购买 nike

有时我会忘记自己位于构建文件夹中,而是在根目录中运行命令。好吧,也许你们中的一些人经历过这会在整个文件层次结构中造成困惑,因为您必须删除 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
}

最佳答案

您可以检查您的 CMakeLists.txt 源目录和二进制目录是否相同。将这样的内容作为 CMakeLists.txt 中的第一件事:

if (CMAKE_BINARY_DIR STREQUAL CMAKE_SOURCE_DIR)
message(FATAL_ERROR "Source and build directories cannot be the same.")
endif()

关于makefile - 防止在根目录中运行 cmake,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24527852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com