gui/mainwindow.cpp: use picojson to generate JSON / updated picojson to latest dev version (#5710)
The lastest release of picojson does not support creation of JSONs, so we need to switch to the current dev version.
This commit is contained in:
parent
70745b527a
commit
347b188726
File diff suppressed because it is too large
Load Diff
|
@ -42,6 +42,7 @@ CheckOptions:
|
||||||
else()
|
else()
|
||||||
target_include_directories(cppcheck-gui SYSTEM PRIVATE ${tinyxml2_INCLUDE_DIRS})
|
target_include_directories(cppcheck-gui SYSTEM PRIVATE ${tinyxml2_INCLUDE_DIRS})
|
||||||
endif()
|
endif()
|
||||||
|
target_include_directories(cppcheck-gui PRIVATE ${PROJECT_SOURCE_DIR}/externals/picojson/)
|
||||||
if (NOT CMAKE_DISABLE_PRECOMPILE_HEADERS)
|
if (NOT CMAKE_DISABLE_PRECOMPILE_HEADERS)
|
||||||
target_precompile_headers(cppcheck-gui PRIVATE precompiled.h)
|
target_precompile_headers(cppcheck-gui PRIVATE precompiled.h)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -94,6 +94,8 @@
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
#include <Qt>
|
#include <Qt>
|
||||||
|
|
||||||
|
#include "json.h"
|
||||||
|
|
||||||
static const QString compile_commands_json("compile_commands.json");
|
static const QString compile_commands_json("compile_commands.json");
|
||||||
|
|
||||||
static QString fromNativePath(const QString& p) {
|
static QString fromNativePath(const QString& p) {
|
||||||
|
@ -1005,25 +1007,31 @@ Settings MainWindow::getCppcheckSettings() {
|
||||||
|
|
||||||
addonFilePath.replace(QChar('\\'), QChar('/'));
|
addonFilePath.replace(QChar('\\'), QChar('/'));
|
||||||
|
|
||||||
// TODO: use picojson to generate the JSON
|
picojson::object obj;
|
||||||
QString json;
|
obj["script"] = picojson::value(addonFilePath.toStdString());
|
||||||
json += "{ \"script\":\"" + addonFilePath + "\"";
|
|
||||||
if (!pythonCmd.isEmpty())
|
if (!pythonCmd.isEmpty())
|
||||||
json += ", \"python\":\"" + pythonCmd + "\"";
|
obj["python"] = picojson::value(pythonCmd.toStdString());
|
||||||
|
|
||||||
|
if (!isCppcheckPremium() && addon == "misra") {
|
||||||
const QString misraFile = fromNativePath(mSettings->value(SETTINGS_MISRA_FILE).toString());
|
const QString misraFile = fromNativePath(mSettings->value(SETTINGS_MISRA_FILE).toString());
|
||||||
if (!isCppcheckPremium() && addon == "misra" && !misraFile.isEmpty()) {
|
if (!misraFile.isEmpty()) {
|
||||||
QString arg;
|
QString arg;
|
||||||
if (misraFile.endsWith(".pdf", Qt::CaseInsensitive))
|
if (misraFile.endsWith(".pdf", Qt::CaseInsensitive))
|
||||||
arg = "--misra-pdf=" + misraFile;
|
arg = "--misra-pdf=" + misraFile;
|
||||||
else
|
else
|
||||||
arg = "--rule-texts=" + misraFile;
|
arg = "--rule-texts=" + misraFile;
|
||||||
json += ", \"args\":[\"" + arg + "\"]";
|
obj["args"] = picojson::value(arg.toStdString());
|
||||||
}
|
}
|
||||||
json += " }";
|
}
|
||||||
result.addons.emplace(json.toStdString());
|
picojson::value json;
|
||||||
|
json.set(std::move(obj));
|
||||||
|
std::string json_str = json.serialize();
|
||||||
|
|
||||||
AddonInfo addonInfo;
|
AddonInfo addonInfo;
|
||||||
addonInfo.getAddonInfo(json.toStdString(), result.exename);
|
addonInfo.getAddonInfo(json_str, result.exename);
|
||||||
result.addonInfos.emplace_back(std::move(addonInfo));
|
result.addonInfos.emplace_back(std::move(addonInfo));
|
||||||
|
|
||||||
|
result.addons.emplace(std::move(json_str));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (isCppcheckPremium()) {
|
if (isCppcheckPremium()) {
|
||||||
|
|
|
@ -23,7 +23,6 @@
|
||||||
|
|
||||||
SUPPRESS_WARNING_PUSH("-Wfloat-equal")
|
SUPPRESS_WARNING_PUSH("-Wfloat-equal")
|
||||||
SUPPRESS_WARNING_CLANG_PUSH("-Wtautological-type-limit-compare")
|
SUPPRESS_WARNING_CLANG_PUSH("-Wtautological-type-limit-compare")
|
||||||
SUPPRESS_WARNING_GCC_PUSH("-Wparentheses")
|
|
||||||
SUPPRESS_WARNING_CLANG_PUSH("-Wextra-semi-stmt")
|
SUPPRESS_WARNING_CLANG_PUSH("-Wextra-semi-stmt")
|
||||||
SUPPRESS_WARNING_CLANG_PUSH("-Wzero-as-null-pointer-constant")
|
SUPPRESS_WARNING_CLANG_PUSH("-Wzero-as-null-pointer-constant")
|
||||||
|
|
||||||
|
@ -32,7 +31,6 @@ SUPPRESS_WARNING_CLANG_PUSH("-Wzero-as-null-pointer-constant")
|
||||||
|
|
||||||
SUPPRESS_WARNING_CLANG_POP
|
SUPPRESS_WARNING_CLANG_POP
|
||||||
SUPPRESS_WARNING_CLANG_POP
|
SUPPRESS_WARNING_CLANG_POP
|
||||||
SUPPRESS_WARNING_GCC_POP
|
|
||||||
SUPPRESS_WARNING_CLANG_POP
|
SUPPRESS_WARNING_CLANG_POP
|
||||||
SUPPRESS_WARNING_POP
|
SUPPRESS_WARNING_POP
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue