我需要向CMake
提供几个设置,这些设置在每个项目中都是相同的。每次我吹走构建区域并重新开始时,必须在命令行上指定这些内容会很烦人。
例如:
cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=${HOME}/local
有没有办法为CMAKE_BUILD_TYPE
和CMAKE_INSTALL_PREFIX
这样的常见设置提供值,以便它们默认应用于所有项目?
答案 0 :(得分:2)
您可以创建“初始缓存”脚本
<强>〜/ default.cmake 强>:
set(CMAKE_BUILD_TYPE Debug CACHE STRING "Build type")
set(CMAKE_INSTALL_PREFIX $ENV{HOME}/local CACHE PATH "Installation prefix")
并将其传递给cmake,与-C
选项一样:
cmake -C ~/default.cmake ..
有关cmake(1) documentation中-C
选项的更多信息。
至于使用默认的这些设置(也就是说,没有任何cmake的附加选项),我不知道这样做的明确方法。
您可以创建包含default-cmake
的包装脚本,该脚本使用原始附加参数调用cmake
。
答案 1 :(得分:0)
另一种方法是创建一个完全包含这两个变量的初始CMakeCache.txt
文件:
$ cat CMakeCache.txt
CMAKE_BUILD_TYPE:STRING=Debug
CMAKE_INSTALL_PREFIX:PATH=~/local
在下一次cmake运行时,CMakeCache.txt
将包含剩余的cmake运行。您不需要将任何其他标志传递给cmake,但它会划伤您的初始CMakeCache.txt
(因此您需要将其添加到.gitignore)。