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