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() 构建。