如何在CMake命令行上覆盖CMakeLists.txt中的默认变量?
我有一个.cmake文件,其中包含变量的默认值。使用“include”从CMakeLists.txt调用.cmake文件。 其中一个变量是版本号。 从CMake命令行否决该可变版本号的最佳实践或设置是什么 在gnu make中,您可以使用 var?=价值如何在CMake命令行上覆盖CMakeLists.txt中的默认变量?,cmake,Cmake,我有一个.cmake文件,其中包含变量的默认值。使用“include”从CMakeLists.txt调用.cmake文件。 其中一个变量是版本号。 从CMake命令行否决该可变版本号的最佳实践或设置是什么 在gnu make中,您可以使用 var?=价值 您可以在make命令行上设置var值。我在C-Make中没有看到类似的内容。对于布尔值,您可以使用选项: option(CUSTOMIZABLE_VAR "This variable do stuff" "default-value") 此外
您可以在make命令行上设置var值。我在C-Make中没有看到类似的内容。对于布尔值,您可以使用
选项:
option(CUSTOMIZABLE_VAR "This variable do stuff" "default-value")
此外,GUI应用程序还公开了CMake GUI或QtCreator等选项,您将获得一个描述和一个字段来编辑它
对于字符串类型的值,可以使用帮助字符串设置缓存值:
set(CUSTOMIZABLE_VAR "8" CACHE STRING "This option is a string")
通过在选项行中指定…“5”默认值,然后调用CMake-DCUSTOMIZABLE_VAR=6,变量将获得值6。没关系。在CMake命令行中未指定-DCUSTOMIZABLE_VAR时,变量的值为“OFF”,而不是“5”。@BaudewijnVermeire-oups抱歉,我误读了文档。选项用于布尔值。否则,可以使用缓存变量。我更新了答案