CMake:如何在CMakeLists.txt内设置-B参数(路径到构建)?



是否有一些系统变量在CMakeLists.txt设置所有构建临时文件到指定的目录(CMakeCache, CMakeFiles,构建工件等)?这可以使用命令行参数-B (path-to-build)来完成,但我需要在CMakeLists.txt中设置所有文件的默认目录,这些文件没有被git

跟踪

如果您通过命令行指定构建目录,它总是覆盖来自其他来源的任何值。

你可以使用cmake预设来实现类似的效果,但这是一个相对较新的cmake功能(= 3.19版本),它没有在CMakeLists.txt文件中指定构建目录,而是在CMakePresets.json文件中。

对于旧的cmake版本,该文件的存在不会破坏项目,但是初始配置变得不那么方便。

CMakePresets.json(放置在顶层CMakeLists.txt旁边)

{
"version": 1,
"cmakeMinimumRequired": {
"major": 3,
"minor": 19,
"patch": 0
},
"configurePresets": [
{
"name": "makefiles",
"displayName": "Default configuration",
"description": "Default config",
"generator": "Unix Makefiles",
"binaryDir": "../build"
}
]
}

这允许您使用

选择默认构建位置作为源目录的兄弟目录。
cmake --preset makefiles .

使用源目录的兄弟目录build作为二进制目录。

您可以使用CMake预设。你使用binaryDir属性,再也不需要提供-B参数,只要你使用预设来生成项目文件和/或构建项目。

相关内容

  • 没有找到相关文章

最新更新