summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSylvain Joubert <joubert.sy@gmail.com>2015-01-24 18:42:31 (GMT)
committerBrad King <brad.king@kitware.com>2015-01-27 16:16:48 (GMT)
commitbbffaa0e6cf3802644453713e80a84345e96148b (patch)
tree24e1edc6f38198e48a80218314c4b8a7a6f7520b
parent7fefb97ed770e8ac32729cf50be52e5c913bd7b7 (diff)
downloadCMake-bbffaa0e6cf3802644453713e80a84345e96148b.zip
CMake-bbffaa0e6cf3802644453713e80a84345e96148b.tar.gz
CMake-bbffaa0e6cf3802644453713e80a84345e96148b.tar.bz2
Configure some CMake-provided targets with USES_TERMINAL (#14915)
This will make them use the 'console' pool with the Ninja generator. Impacted targets are: - Built-in targets: install, install/local, install/strip, tests, package, package_source, rebuild_cache - Targets provided by the CTestTargets module: Nightly, Continuous, Experimental, and all their variants (*Start, *Configure, ...)
-rw-r--r--Help/release/dev/console-pool.rst4
-rw-r--r--Modules/CTestTargets.cmake3
-rw-r--r--Source/cmGlobalGenerator.cxx14
3 files changed, 13 insertions, 8 deletions
diff --git a/Help/release/dev/console-pool.rst b/Help/release/dev/console-pool.rst
index 19c2f19..1d9bdb8 100644
--- a/Help/release/dev/console-pool.rst
+++ b/Help/release/dev/console-pool.rst
@@ -5,4 +5,6 @@ console-pool
commands learned a new ``USES_TERMINAL`` option to request that
the command be given direct access to the terminal if possible.
The :generator:`Ninja` generator will places such commands in the
- ``console`` pool.
+ ``console`` pool. Build targets provided by CMake that are meant
+ for individual interactive use, such as ``install``, are now
+ placed in this pool.
diff --git a/Modules/CTestTargets.cmake b/Modules/CTestTargets.cmake
index 5b6e062..1157850 100644
--- a/Modules/CTestTargets.cmake
+++ b/Modules/CTestTargets.cmake
@@ -67,6 +67,7 @@ if(NOT _CTEST_TARGETS_ADDED)
foreach(mode Experimental Nightly Continuous NightlyMemoryCheck)
add_custom_target(${mode}
${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}
+ USES_TERMINAL
)
set_property(TARGET ${mode} PROPERTY RULE_LAUNCH_CUSTOM "")
set_property(TARGET ${mode} PROPERTY FOLDER "CTestDashboardTargets")
@@ -82,6 +83,7 @@ if(NOT _CTEST_TARGETS_ADDED)
)
add_custom_target(${mode}${testtype}
${CMAKE_CTEST_COMMAND} ${__conf_types} -D ${mode}${testtype}
+ USES_TERMINAL
)
set_property(TARGET ${mode}${testtype} PROPERTY RULE_LAUNCH_CUSTOM "")
set_property(TARGET ${mode}${testtype} PROPERTY FOLDER "CTestDashboardTargets")
@@ -94,6 +96,7 @@ if(NOT _CTEST_TARGETS_ADDED)
if(CTEST_TEST_TARGET_ALIAS)
add_custom_target(${CTEST_TEST_TARGET_ALIAS}
${CMAKE_CTEST_COMMAND} ${__conf_types}
+ USES_TERMINAL
)
endif()
endif()
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index dd3b1ec..4c95a9f 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -2191,7 +2191,7 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
= this->CreateGlobalTarget(this->GetPackageTargetName(),
"Run CPack packaging tool...",
&cpackCommandLines, depends,
- workingDir.c_str(), /*uses_terminal*/false);
+ workingDir.c_str(), /*uses_terminal*/true);
}
// CPack source
const char* packageSourceTargetName = this->GetPackageSourceTargetName();
@@ -2215,7 +2215,7 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
= this->CreateGlobalTarget(packageSourceTargetName,
"Run CPack packaging tool for source...",
&cpackCommandLines, depends,
- workingDir.c_str(), /*uses_terminal*/false);
+ workingDir.c_str(), /*uses_terminal*/true);
}
}
@@ -2241,7 +2241,7 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
(*targets)[this->GetTestTargetName()]
= this->CreateGlobalTarget(this->GetTestTargetName(),
"Running tests...", &cpackCommandLines, depends, 0,
- /*uses_terminal*/false);
+ /*uses_terminal*/true);
}
//Edit Cache
@@ -2296,7 +2296,7 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
(*targets)[rebuildCacheTargetName] =
this->CreateGlobalTarget(
rebuildCacheTargetName, "Running CMake to regenerate build system...",
- &cpackCommandLines, depends, 0, /*uses_terminal*/false);
+ &cpackCommandLines, depends, 0, /*uses_terminal*/true);
}
//Install
@@ -2377,7 +2377,7 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
(*targets)[this->GetInstallTargetName()] =
this->CreateGlobalTarget(
this->GetInstallTargetName(), "Install the project...",
- &cpackCommandLines, depends, 0, /*uses_terminal*/false);
+ &cpackCommandLines, depends, 0, /*uses_terminal*/true);
// install_local
if(const char* install_local = this->GetInstallLocalTargetName())
@@ -2393,7 +2393,7 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
(*targets)[install_local] =
this->CreateGlobalTarget(
install_local, "Installing only the local directory...",
- &cpackCommandLines, depends, 0, /*uses_terminal*/false);
+ &cpackCommandLines, depends, 0, /*uses_terminal*/true);
}
// install_strip
@@ -2410,7 +2410,7 @@ void cmGlobalGenerator::CreateDefaultGlobalTargets(cmTargets* targets)
(*targets)[install_strip] =
this->CreateGlobalTarget(
install_strip, "Installing the project stripped...",
- &cpackCommandLines, depends, 0, /*uses_terminal*/false);
+ &cpackCommandLines, depends, 0, /*uses_terminal*/true);
}
}
}