Makefile: Optionally disable target completion messages in build output
Add a TARGET_MESSAGES property to control whether Makefile targets print the "Built target " completion messages. Default to ON to preserve existing behavior.
This commit is contained in:
parent
d560b46f52
commit
1d3984780d
|
@ -40,6 +40,7 @@ Properties of Global Scope
|
||||||
/prop_gbl/RULE_LAUNCH_LINK
|
/prop_gbl/RULE_LAUNCH_LINK
|
||||||
/prop_gbl/RULE_MESSAGES
|
/prop_gbl/RULE_MESSAGES
|
||||||
/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
|
/prop_gbl/TARGET_ARCHIVES_MAY_BE_SHARED_LIBS
|
||||||
|
/prop_gbl/TARGET_MESSAGES
|
||||||
/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS
|
/prop_gbl/TARGET_SUPPORTS_SHARED_LIBS
|
||||||
/prop_gbl/USE_FOLDERS
|
/prop_gbl/USE_FOLDERS
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,20 @@
|
||||||
|
TARGET_MESSAGES
|
||||||
|
---------------
|
||||||
|
|
||||||
|
Specify whether to report the completion of each target.
|
||||||
|
|
||||||
|
This property specifies whether :ref:`Makefile Generators` should
|
||||||
|
add a progress message describing that each target has been completed.
|
||||||
|
If the property is not set the default is ``ON``. Set the property
|
||||||
|
to ``OFF`` to disable target completion messages.
|
||||||
|
|
||||||
|
This option is intended to reduce build output when little or no
|
||||||
|
work needs to be done to bring the build tree up to date.
|
||||||
|
|
||||||
|
If a ``CMAKE_TARGET_MESSAGES`` cache entry exists its value
|
||||||
|
initializes the value of this property.
|
||||||
|
|
||||||
|
Non-Makefile generators currently ignore this property.
|
||||||
|
|
||||||
|
See the counterpart property :prop_gbl:`RULE_MESSAGES` to disable
|
||||||
|
everything except for target completion messages.
|
|
@ -0,0 +1,6 @@
|
||||||
|
makefile-target-messages
|
||||||
|
------------------------
|
||||||
|
|
||||||
|
* A :prop_gbl:`TARGET_MESSAGES` global property was added to tell the
|
||||||
|
:ref:`Makefile Generators` whether to generate commands to print output
|
||||||
|
after each target is completed.
|
|
@ -52,6 +52,9 @@ if(CMAKE_GENERATOR MATCHES "Make")
|
||||||
if(DEFINED CMAKE_RULE_MESSAGES)
|
if(DEFINED CMAKE_RULE_MESSAGES)
|
||||||
set_property(GLOBAL PROPERTY RULE_MESSAGES ${CMAKE_RULE_MESSAGES})
|
set_property(GLOBAL PROPERTY RULE_MESSAGES ${CMAKE_RULE_MESSAGES})
|
||||||
endif()
|
endif()
|
||||||
|
if(DEFINED CMAKE_TARGET_MESSAGES)
|
||||||
|
set_property(GLOBAL PROPERTY TARGET_MESSAGES ${CMAKE_TARGET_MESSAGES})
|
||||||
|
endif()
|
||||||
if(CMAKE_GENERATOR MATCHES "Unix Makefiles")
|
if(CMAKE_GENERATOR MATCHES "Unix Makefiles")
|
||||||
set(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
|
set(CMAKE_EXPORT_COMPILE_COMMANDS OFF CACHE BOOL
|
||||||
"Enable/Disable output of compile commands during generation."
|
"Enable/Disable output of compile commands during generation."
|
||||||
|
|
|
@ -801,8 +801,20 @@ cmGlobalUnixMakefileGenerator3
|
||||||
}
|
}
|
||||||
progress.Arg = progressArg.str();
|
progress.Arg = progressArg.str();
|
||||||
}
|
}
|
||||||
lg->AppendEcho(commands, "Built target " + name,
|
|
||||||
cmLocalUnixMakefileGenerator3::EchoNormal, &progress);
|
bool targetMessages = true;
|
||||||
|
if (const char* tgtMsg = this->GetCMakeInstance()
|
||||||
|
->GetState()
|
||||||
|
->GetGlobalProperty("TARGET_MESSAGES"))
|
||||||
|
{
|
||||||
|
targetMessages = cmSystemTools::IsOn(tgtMsg);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (targetMessages)
|
||||||
|
{
|
||||||
|
lg->AppendEcho(commands, "Built target " + name,
|
||||||
|
cmLocalUnixMakefileGenerator3::EchoNormal, &progress);
|
||||||
|
}
|
||||||
|
|
||||||
this->AppendGlobalTargetDepends(depends, gtarget);
|
this->AppendGlobalTargetDepends(depends, gtarget);
|
||||||
lg->WriteMakeRule(ruleFileStream, "All Build rule for target.",
|
lg->WriteMakeRule(ruleFileStream, "All Build rule for target.",
|
||||||
|
|
Loading…
Reference in New Issue