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