1CMAKE_USER_MAKE_RULES_OVERRIDE
2------------------------------
3
4Specify a CMake file that overrides platform information.
5
6CMake loads the specified file while enabling support for each
7language from either the :command:`project` or :command:`enable_language`
8commands.  It is loaded after CMake's builtin compiler and platform information
9modules have been loaded but before the information is used.  The file
10may set platform information variables to override CMake's defaults.
11
12This feature is intended for use only in overriding information
13variables that must be set before CMake builds its first test project
14to check that the compiler for a language works.  It should not be
15used to load a file in cases that a normal :command:`include` will work.  Use
16it only as a last resort for behavior that cannot be achieved any
17other way.  For example, one may set the
18:variable:`CMAKE_C_FLAGS_INIT <CMAKE_<LANG>_FLAGS_INIT>` variable
19to change the default value used to initialize the
20:variable:`CMAKE_C_FLAGS <CMAKE_<LANG>_FLAGS>` variable
21before it is cached.  The override file should NOT be used to set anything
22that could be set after languages are enabled, such as variables like
23:variable:`CMAKE_RUNTIME_OUTPUT_DIRECTORY` that affect the placement of
24binaries.  Information set in the file will be used for :command:`try_compile`
25and :command:`try_run` builds too.
26