diff --git a/Help/manual/cmake.1.rst b/Help/manual/cmake.1.rst
index c5a3c88293..a3c7834f54 100644
--- a/Help/manual/cmake.1.rst
+++ b/Help/manual/cmake.1.rst
@@ -269,14 +269,14 @@ following options:
``--build
``
Project binary directory to be built. This is required and must be first.
-``-j [], --parallel []``
+``--parallel [], -j []``
The maximum number of concurrent processes to use when building.
If ```` is omitted the native build tool's default number is used.
The :envvar:`CMAKE_BUILD_PARALLEL_LEVEL` environment variable, if set,
specifies a default parallel level when this option is not given.
-``--target ...``
+``--target ..., -t ...``
Build ```` instead of default targets. May be specified multiple times.
``--config ``
@@ -289,7 +289,7 @@ following options:
``--use-stderr``
Ignored. Behavior is default in CMake >= 3.0.
-``-v, --verbose``
+``--verbose, -v``
Enable verbose output - if supported - including the build commands to be
executed.
diff --git a/Help/release/dev/cmake-short-target-option.rst b/Help/release/dev/cmake-short-target-option.rst
new file mode 100644
index 0000000000..5eac04261f
--- /dev/null
+++ b/Help/release/dev/cmake-short-target-option.rst
@@ -0,0 +1,6 @@
+cmake-short-target-option
+----------------------------
+
+* The :manual:`cmake(1)` ``--target`` parameter gained shorter
+ version ``-t``, e.g. ``cmake --build . -t Library1 Library2`` is
+ equivalant to ``cmake --build . --target Library1 Library2``.
diff --git a/Source/cmakemain.cxx b/Source/cmakemain.cxx
index 1c56bcd278..b83c744673 100644
--- a/Source/cmakemain.cxx
+++ b/Source/cmakemain.cxx
@@ -54,20 +54,21 @@ static const char* cmDocumentationUsageNote[][2] = {
# define CMAKE_BUILD_OPTIONS \
" = Project binary directory to be built.\n" \
- " -j [] --parallel [] = Build in parallel using\n" \
- " the given number of jobs. If is omitted\n" \
- " the native build tool's default number is used.\n" \
+ " --parallel [], -j []\n" \
+ " = Build in parallel using the given number of jobs. \n" \
+ " If is omitted the native build tool's \n" \
+ " default number is used.\n" \
" The CMAKE_BUILD_PARALLEL_LEVEL environment " \
"variable\n" \
" specifies a default parallel level when this " \
"option\n" \
" is not given.\n" \
- " --target = Build instead of default targets.\n" \
- " May be specified multiple times.\n" \
+ " --target ..., -t ... \n" \
+ " = Build instead of default targets.\n" \
" --config = For multi-configuration tools, choose .\n" \
" --clean-first = Build target 'clean' first, then build.\n" \
" (To clean only, use --target 'clean'.)\n" \
- " -v --verbose = Enable verbose output - if supported - including\n" \
+ " --verbose, -v = Enable verbose output - if supported - including\n" \
" the build commands to be executed. \n" \
" -- = Pass remaining options to the native tool.\n"
@@ -429,7 +430,8 @@ static int do_build(int ac, char const* const* av)
dir.clear();
}
doing = DoingNone;
- } else if (strcmp(av[i], "--target") == 0) {
+ } else if ((strcmp(av[i], "--target") == 0) ||
+ (strcmp(av[i], "-t") == 0)) {
doing = DoingTarget;
} else if (strcmp(av[i], "--config") == 0) {
doing = DoingConfig;
diff --git a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
index ff2a8a578e..5b5c5a5cf1 100644
--- a/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
+++ b/Tests/RunCMake/CommandLine/RunCMakeTest.cmake
@@ -106,7 +106,7 @@ function(run_BuildDir)
run_cmake_command(BuildDir--build ${CMAKE_COMMAND} -E chdir ..
${CMAKE_COMMAND} --build BuildDir-build --target CustomTarget)
run_cmake_command(BuildDir--build-multiple-targets ${CMAKE_COMMAND} -E chdir ..
- ${CMAKE_COMMAND} --build BuildDir-build --target CustomTarget2 --target CustomTarget3)
+ ${CMAKE_COMMAND} --build BuildDir-build -t CustomTarget2 --target CustomTarget3)
run_cmake_command(BuildDir--build-multiple-targets-jobs ${CMAKE_COMMAND} -E chdir ..
${CMAKE_COMMAND} --build BuildDir-build --target CustomTarget CustomTarget2 -j2 --target CustomTarget3)
run_cmake_command(BuildDir--build-multiple-targets-with-clean-first ${CMAKE_COMMAND} -E chdir ..