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