Merge topic 'makefile-target-messages'
f0cad193
Tests: Add test for TARGET_MESSAGES global property1d398478
Makefile: Optionally disable target completion messages in build outputd560b46f
CMakeGenericSystem: Recognize Watcom WMake generator as Makefile generator
This commit is contained in:
commit
77fa27a9f5
|
@ -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.
|
|
@ -44,7 +44,7 @@ set (CMAKE_SKIP_INSTALL_RPATH "NO" CACHE BOOL
|
||||||
|
|
||||||
set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
|
set(CMAKE_VERBOSE_MAKEFILE FALSE CACHE BOOL "If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make. This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
|
||||||
|
|
||||||
if(CMAKE_GENERATOR MATCHES "Makefiles")
|
if(CMAKE_GENERATOR MATCHES "Make")
|
||||||
set(CMAKE_COLOR_MAKEFILE ON CACHE BOOL
|
set(CMAKE_COLOR_MAKEFILE ON CACHE BOOL
|
||||||
"Enable/Disable color output during build."
|
"Enable/Disable color output during build."
|
||||||
)
|
)
|
||||||
|
@ -52,6 +52,9 @@ if(CMAKE_GENERATOR MATCHES "Makefiles")
|
||||||
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.",
|
||||||
|
|
|
@ -103,6 +103,9 @@ add_RunCMake_test(CMP0055)
|
||||||
add_RunCMake_test(CMP0057)
|
add_RunCMake_test(CMP0057)
|
||||||
add_RunCMake_test(CMP0059)
|
add_RunCMake_test(CMP0059)
|
||||||
add_RunCMake_test(CMP0060)
|
add_RunCMake_test(CMP0060)
|
||||||
|
if(CMAKE_GENERATOR MATCHES "Make")
|
||||||
|
add_RunCMake_test(Make)
|
||||||
|
endif()
|
||||||
if(CMAKE_GENERATOR STREQUAL "Ninja")
|
if(CMAKE_GENERATOR STREQUAL "Ninja")
|
||||||
add_RunCMake_test(Ninja)
|
add_RunCMake_test(Ninja)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
cmake_minimum_required(VERSION 3.3)
|
||||||
|
project(${RunCMake_TEST} NONE)
|
||||||
|
include(${RunCMake_TEST}.cmake)
|
|
@ -0,0 +1,17 @@
|
||||||
|
include(RunCMake)
|
||||||
|
|
||||||
|
function(run_TargetMessages case)
|
||||||
|
set(RunCMake_TEST_BINARY_DIR ${RunCMake_BINARY_DIR}/TargetMessages-${case}-build)
|
||||||
|
set(RunCMake_TEST_NO_CLEAN 1)
|
||||||
|
file(REMOVE_RECURSE "${RunCMake_TEST_BINARY_DIR}")
|
||||||
|
file(MAKE_DIRECTORY "${RunCMake_TEST_BINARY_DIR}")
|
||||||
|
set(RunCMake_TEST_OPTIONS "${ARGN}")
|
||||||
|
run_cmake(TargetMessages-${case})
|
||||||
|
run_cmake_command(TargetMessages-${case}-build ${CMAKE_COMMAND} --build .)
|
||||||
|
endfunction()
|
||||||
|
|
||||||
|
run_TargetMessages(ON)
|
||||||
|
run_TargetMessages(OFF)
|
||||||
|
|
||||||
|
run_TargetMessages(VAR-ON -DCMAKE_TARGET_MESSAGES=ON)
|
||||||
|
run_TargetMessages(VAR-OFF -DCMAKE_TARGET_MESSAGES=OFF)
|
|
@ -0,0 +1,5 @@
|
||||||
|
^(([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*
|
||||||
|
)*Scanning dependencies of target CustomTarget(
|
||||||
|
([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*)*$
|
|
@ -0,0 +1,2 @@
|
||||||
|
set_property(GLOBAL PROPERTY TARGET_MESSAGES OFF)
|
||||||
|
add_custom_target(CustomTarget ALL)
|
|
@ -0,0 +1,8 @@
|
||||||
|
^(([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*
|
||||||
|
)*Scanning dependencies of target CustomTarget(
|
||||||
|
([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*)*
|
||||||
|
Built target CustomTarget(
|
||||||
|
([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*)*$
|
|
@ -0,0 +1,2 @@
|
||||||
|
set_property(GLOBAL PROPERTY TARGET_MESSAGES ON)
|
||||||
|
add_custom_target(CustomTarget ALL)
|
|
@ -0,0 +1,5 @@
|
||||||
|
^(([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*
|
||||||
|
)*Scanning dependencies of target CustomTarget(
|
||||||
|
([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*)*$
|
|
@ -0,0 +1 @@
|
||||||
|
add_custom_target(CustomTarget ALL)
|
|
@ -0,0 +1,8 @@
|
||||||
|
^(([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*
|
||||||
|
)*Scanning dependencies of target CustomTarget(
|
||||||
|
([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*)*
|
||||||
|
Built target CustomTarget(
|
||||||
|
([^B]|B[^u]|Bu[^i]|Bui[^l]|Buil[^t]|Built[^ ])[^
|
||||||
|
]*)*$
|
|
@ -0,0 +1 @@
|
||||||
|
add_custom_target(CustomTarget ALL)
|
Loading…
Reference in New Issue