diff options
author | Kyle Edwards <kyle.edwards@kitware.com> | 2020-10-23 16:47:56 (GMT) |
---|---|---|
committer | Kyle Edwards <kyle.edwards@kitware.com> | 2020-10-27 16:05:41 (GMT) |
commit | ef03124237a1bbbb47b71faaecbaac174839d1e4 (patch) | |
tree | 3ba05bce6682366a4d8409676095fb3bc6006d44 | |
parent | 8d6a0b9364581fbb95746c93cac4ec3c213f534b (diff) | |
download | CMake-ef03124237a1bbbb47b71faaecbaac174839d1e4.zip CMake-ef03124237a1bbbb47b71faaecbaac174839d1e4.tar.gz CMake-ef03124237a1bbbb47b71faaecbaac174839d1e4.tar.bz2 |
CMake GUI: Add --browse-manual argument
-rw-r--r-- | Help/manual/cmake-gui.1.rst | 4 | ||||
-rw-r--r-- | Source/QtDialog/CMakeSetup.cxx | 7 | ||||
-rw-r--r-- | Source/QtDialog/CMakeSetupDialog.cxx | 29 |
3 files changed, 26 insertions, 14 deletions
diff --git a/Help/manual/cmake-gui.1.rst b/Help/manual/cmake-gui.1.rst index 97b5731..281986f 100644 --- a/Help/manual/cmake-gui.1.rst +++ b/Help/manual/cmake-gui.1.rst @@ -11,6 +11,7 @@ Synopsis cmake-gui [<options>] cmake-gui [<options>] {<path-to-source> | <path-to-existing-build>} cmake-gui [<options>] -S <path-to-source> -B <path-to-build> + cmake-gui [<options>] --browse-manual Description =========== @@ -40,6 +41,9 @@ Options Name of the preset to use from the project's :manual:`presets <cmake-presets(7)>` files, if it has them. +``--browse-manual`` + Open the CMake reference manual in a browser and immediately exit. + .. include:: OPTIONS_HELP.txt See Also diff --git a/Source/QtDialog/CMakeSetup.cxx b/Source/QtDialog/CMakeSetup.cxx index 182c23d..7c3675b 100644 --- a/Source/QtDialog/CMakeSetup.cxx +++ b/Source/QtDialog/CMakeSetup.cxx @@ -32,7 +32,8 @@ static const char* cmDocumentationUsage[][2] = { " cmake-gui [options]\n" " cmake-gui [options] <path-to-source>\n" " cmake-gui [options] <path-to-existing-build>\n" - " cmake-gui [options] -S <path-to-source> -B <path-to-build>\n" }, + " cmake-gui [options] -S <path-to-source> -B <path-to-build>\n" + " cmake-gui [options] --browse-manual\n" }, { nullptr, nullptr } }; @@ -56,6 +57,7 @@ Q_IMPORT_PLUGIN(QWindowsVistaStylePlugin); int CMakeGUIExec(CMakeSetupDialog* window); void SetupDefaultQSettings(); +void OpenReferenceManual(); int main(int argc, char** argv) { @@ -193,6 +195,9 @@ int main(int argc, char** argv) return 1; } presetName = preset.toLocal8Bit().data(); + } else if (arg == "--browse-manual") { + OpenReferenceManual(); + return 0; } } if (!sourceDirectory.empty() && diff --git a/Source/QtDialog/CMakeSetupDialog.cxx b/Source/QtDialog/CMakeSetupDialog.cxx index a15614d..05518a9 100644 --- a/Source/QtDialog/CMakeSetupDialog.cxx +++ b/Source/QtDialog/CMakeSetupDialog.cxx @@ -43,6 +43,21 @@ #include "RegexExplorer.h" #include "WarningMessagesDialog.h" +void OpenReferenceManual() +{ + QString urlFormat("https://cmake.org/cmake/help/v%1.%2/"); + QUrl url(urlFormat.arg(QString::number(cmVersion::GetMajorVersion()), + QString::number(cmVersion::GetMinorVersion()))); + + if (!cmSystemTools::GetHTMLDoc().empty()) { + url = QUrl::fromLocalFile( + QDir(QString::fromLocal8Bit(cmSystemTools::GetHTMLDoc().data())) + .filePath("index.html")); + } + + QDesktopServices::openUrl(url); +} + namespace { const QString PRESETS_DISABLED_TOOLTIP = "This option is disabled because there are no available presets in " @@ -194,19 +209,7 @@ CMakeSetupDialog::CMakeSetupDialog() QObject::connect(a, &QAction::triggered, this, &CMakeSetupDialog::doHelp); a->setShortcut(QKeySequence::HelpContents); a = HelpMenu->addAction(tr("CMake Reference Manual")); - QObject::connect(a, &QAction::triggered, this, []() { - QString urlFormat("https://cmake.org/cmake/help/v%1.%2/"); - QUrl url(urlFormat.arg(QString::number(cmVersion::GetMajorVersion()), - QString::number(cmVersion::GetMinorVersion()))); - - if (!cmSystemTools::GetHTMLDoc().empty()) { - url = QUrl::fromLocalFile( - QDir(QString::fromLocal8Bit(cmSystemTools::GetHTMLDoc().data())) - .filePath("index.html")); - } - - QDesktopServices::openUrl(url); - }); + QObject::connect(a, &QAction::triggered, this, OpenReferenceManual); a = HelpMenu->addAction(tr("About")); QObject::connect(a, &QAction::triggered, this, &CMakeSetupDialog::doAbout); |