CMAKE_USER_MAKE_RULES_OVERRIDE

指定一个 CMake 文件来覆盖平台信息。

CMake 在启用来自 project()enable_language() 命令的每种语言的支持时,会加载指定的 文件。它在 CMake 的内置编译器和平台信息模块加载后,但在使用信息之前加载。该文件可以设置平台信息变量来覆盖 CMake 的默认值。请参阅 CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>,获取此变量的语言特定版本。

此功能仅用于覆盖必须在 CMake 构建其第一个测试项目以检查语言编译器是否正常工作的变量信息。不应将其用于加载文件,在正常 include() 有效的情况下,请使用它。仅将其作为最后的手段,用于无法通过其他方式实现的行为。例如,可以设置 CMAKE_C_FLAGS_INIT 变量来更改用于初始化 CMAKE_C_FLAGS 变量的默认值,然后再将其缓存。覆盖文件不应用于设置可以在启用语言后设置的任何内容,例如影响二进制文件放置的变量,如 CMAKE_RUNTIME_OUTPUT_DIRECTORY。文件中设置的信息也将用于 try_compile()try_run() 构建。