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