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