Clarify CMAKE_USER_MAKE_RULES_OVERRIDE documentation (#11724)

This variable was introduced to help authors override CMake's default
platform information before any of it is cached.  State this clearly in
the documentation.  Explicitly discourage use for other purposes.
This commit is contained in:
Brad King 2011-01-20 07:35:00 -05:00
parent a146e03422
commit a5300f1d45
1 changed files with 27 additions and 14 deletions

View File

@ -625,13 +625,29 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
cm->DefineProperty cm->DefineProperty
("CMAKE_USER_MAKE_RULES_OVERRIDE", cmProperty::VARIABLE, ("CMAKE_USER_MAKE_RULES_OVERRIDE", cmProperty::VARIABLE,
"Specify a file that can change the build rule variables.", "Specify a CMake file that overrides platform information.",
"If this variable is set, it should to point to a " "CMake loads the specified file while enabling support for each "
"CMakeLists.txt file that will be read in by CMake " "language from either the project() or enable_language() commands. "
"after all the system settings have been set, but " "It is loaded after CMake's builtin compiler and platform information "
"before they have been used. This would allow you " "modules have been loaded but before the information is used. "
"to override any variables that need to be changed " "The file may set platform information variables to override CMake's "
"for some special project. ",false, "defaults."
"\n"
"This feature is intended for use only in overriding information "
"variables that must be set before CMake builds its first test "
"project to check that the compiler for a language works. "
"It should not be used to load a file in cases that a normal include() "
"will work. "
"Use it only as a last resort for behavior that cannot be achieved "
"any other way. "
"For example, one may set CMAKE_C_FLAGS_INIT to change the default "
"value used to initialize CMAKE_C_FLAGS before it is cached. "
"The override file should NOT be used to set anything that could "
"be set after languages are enabled, such as variables like "
"CMAKE_RUNTIME_OUTPUT_DIRECTORY that affect the placement of binaries. "
"Information set in the file will be used for try_compile and try_run "
"builds too."
,false,
"Variables That Change Behavior"); "Variables That Change Behavior");
cm->DefineProperty cm->DefineProperty
@ -1059,13 +1075,10 @@ void cmDocumentVariables::DefineVariables(cmake* cm)
cm->DefineProperty cm->DefineProperty
("CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>", cmProperty::VARIABLE, ("CMAKE_USER_MAKE_RULES_OVERRIDE_<LANG>", cmProperty::VARIABLE,
"Specify a file that can change the build rule variables.", "Specify a CMake file that overrides platform information for <LANG>.",
"If this variable is set, it should to point to a " "This is a language-specific version of "
"CMakeLists.txt file that will be read in by CMake " "CMAKE_USER_MAKE_RULES_OVERRIDE loaded only when enabling "
"after all the system settings have been set, but " "language <LANG>.",false,
"before they have been used. This would allow you "
"to override any variables that need to be changed "
"for some language. ",false,
"Variables for Languages"); "Variables for Languages");
cm->DefineProperty cm->DefineProperty