aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorIvan Komissarov <abbapoh@gmail.com>2021-11-03 17:16:11 +0300
committerIvan Komissarov <abbapoh@gmail.com>2021-11-03 17:16:11 +0300
commitaddb0dc30b5866743c7574770630b5a0252306d4 (patch)
tree44df80c4ee10d3506f8d5ed74e1553d3cd5e82df /src
parent96d7358c6bd222a70d3a945e6f56a623364a4e2c (diff)
parentae937f07673aa95b67218e4be36a38e4438c0171 (diff)
Merge branch '1.21' into master
Diffstat (limited to 'src')
-rw-r--r--src/lib/corelib/jsextensions/pkgconfigjs.cpp9
-rw-r--r--src/lib/corelib/tools/settingscreator.cpp31
-rw-r--r--src/lib/pkgconfig/CMakeLists.txt2
-rw-r--r--src/lib/pkgconfig/pcpackage.h2
-rw-r--r--src/lib/pkgconfig/pcparser.cpp6
-rw-r--r--src/lib/pkgconfig/pkgconfig.cpp5
-rw-r--r--src/lib/pkgconfig/pkgconfig.qbs2
-rw-r--r--src/lib/pkgconfig/use_pkgconfig.pri2
-rw-r--r--src/lib/scriptengine/scriptengine.pro5
-rw-r--r--src/lib/scriptengine/use_scriptengine.pri4
-rw-r--r--src/shared/variant/CMakeLists.txt8
11 files changed, 31 insertions, 45 deletions
diff --git a/src/lib/corelib/jsextensions/pkgconfigjs.cpp b/src/lib/corelib/jsextensions/pkgconfigjs.cpp
index 3bace6f06..59aa3a970 100644
--- a/src/lib/corelib/jsextensions/pkgconfigjs.cpp
+++ b/src/lib/corelib/jsextensions/pkgconfigjs.cpp
@@ -62,6 +62,14 @@ template<typename C, typename F> QVariantList convert(const C &c, F &&f)
return result;
}
+QVariantMap variablesMapToMap(const PcPackage::VariablesMap &variables)
+{
+ QVariantMap result;
+ for (const auto &item: variables)
+ result.insert(QString::fromStdString(item.first), QString::fromStdString(item.second));
+ return result;
+}
+
QVariantMap packageToMap(const PcPackage &package)
{
QVariantMap result;
@@ -127,6 +135,7 @@ QVariantMap packageToMap(const PcPackage &package)
result[QStringLiteral("requiresPrivate")] =
convert(package.requiresPrivate, requiredVersionToMap);
result[QStringLiteral("conflicts")] = convert(package.conflicts, requiredVersionToMap);
+ result[QStringLiteral("variables")] = variablesMapToMap(package.variables);
return result;
};
diff --git a/src/lib/corelib/tools/settingscreator.cpp b/src/lib/corelib/tools/settingscreator.cpp
index 3fdaf0bc3..455e35b34 100644
--- a/src/lib/corelib/tools/settingscreator.cpp
+++ b/src/lib/corelib/tools/settingscreator.cpp
@@ -84,16 +84,6 @@ void SettingsCreator::migrate()
QString oldSettingsDir = m_settingsBaseDir;
if (thePredecessor.isValid())
oldSettingsDir.append(QLatin1String("/qbs/")).append(thePredecessor.toString());
- QString oldProfilesDir = oldSettingsDir;
- if (!thePredecessor.isValid())
- oldProfilesDir += QLatin1String("/qbs");
- oldProfilesDir += QLatin1String("/profiles");
- const QString newProfilesDir = m_newSettingsDir + QLatin1String("/profiles");
- QString errorMessage;
- if (QFileInfo(oldProfilesDir).exists()
- && !copyFileRecursion(oldProfilesDir, newProfilesDir, false, true, &errorMessage)) {
- qWarning() << "Error in settings migration: " << errorMessage;
- }
const QString oldSettingsFilePath = oldSettingsDir + QLatin1Char('/') + m_settingsFileName;
if (QFileInfo(oldSettingsFilePath).exists()
&& (!QDir::root().mkpath(m_newSettingsDir)
@@ -102,28 +92,7 @@ void SettingsCreator::migrate()
<< "to" << m_newSettingsFilePath;
}
- // Adapt all paths in settings that point to the old location. At the time of this writing,
- // that's only preferences.qbsSearchPaths as written by libqtprofilesetup, but we don't want
- // to hardcode that here.
m_settings = std::make_unique<QSettings>(m_newSettingsFilePath, format());
- const auto allKeys = m_settings->allKeys();
- for (const QString &key : allKeys) {
- QVariant v = m_settings->value(key);
- if (v.userType() == QMetaType::QString) {
- QString s = v.toString();
- if (s.contains(oldProfilesDir))
- m_settings->setValue(key, s.replace(oldProfilesDir, newProfilesDir));
- } else if (v.userType() == QMetaType::QStringList) {
- const QStringList oldList = v.toStringList();
- QStringList newList;
- for (const QString &oldString : oldList) {
- QString newString = oldString;
- newList << newString.replace(oldProfilesDir, newProfilesDir);
- }
- if (newList != oldList)
- m_settings->setValue(key, newList);
- }
- }
}
void SettingsCreator::createQSettings()
diff --git a/src/lib/pkgconfig/CMakeLists.txt b/src/lib/pkgconfig/CMakeLists.txt
index e64d934c8..c82edac16 100644
--- a/src/lib/pkgconfig/CMakeLists.txt
+++ b/src/lib/pkgconfig/CMakeLists.txt
@@ -15,7 +15,7 @@ else()
endif()
set(QBS_PKGCONFIG_PUBLIC_DEPENDS "")
-if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 8.0)
+if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND CMAKE_CXX_COMPILER_VERSION VERSION_LESS 9.0)
set(QBS_PKGCONFIG_PUBLIC_DEPENDS "stdc++fs")
endif()
diff --git a/src/lib/pkgconfig/pcpackage.h b/src/lib/pkgconfig/pcpackage.h
index 340a4698f..9d86816aa 100644
--- a/src/lib/pkgconfig/pcpackage.h
+++ b/src/lib/pkgconfig/pcpackage.h
@@ -114,7 +114,7 @@ public:
std::vector<RequiredVersion> conflicts;
using VariablesMap = std::map<std::string, std::string, std::less<>>;
- VariablesMap vars;
+ VariablesMap variables;
bool uninstalled{false};
diff --git a/src/lib/pkgconfig/pcparser.cpp b/src/lib/pkgconfig/pcparser.cpp
index b3ba57c3d..20e92a600 100644
--- a/src/lib/pkgconfig/pcparser.cpp
+++ b/src/lib/pkgconfig/pcparser.cpp
@@ -424,11 +424,11 @@ try
#if HAS_STD_FILESYSTEM
const auto fsPath = std::filesystem::path(path);
package.filePath = fsPath.generic_string();
- package.vars["pcfiledir"] = fsPath.parent_path().generic_string();
+ package.variables["pcfiledir"] = fsPath.parent_path().generic_string();
#else
QFileInfo fileInfo(QString::fromStdString(path));
package.filePath = fileInfo.absoluteFilePath().toStdString();
- package.vars["pcfiledir"] = fileInfo.absolutePath().toStdString();
+ package.variables["pcfiledir"] = fileInfo.absolutePath().toStdString();
#endif
std::string line;
@@ -764,7 +764,7 @@ void PcParser::parseLine(PcPackage &pkg, std::string_view str)
// ignore this feature for now
const auto value = trimAndSubstitute(pkg, str);
- if (!pkg.vars.insert({std::string(tag), value}).second)
+ if (!pkg.variables.insert({std::string(tag), value}).second)
raizeDuplicateVariableException(pkg, tag);
}
}
diff --git a/src/lib/pkgconfig/pkgconfig.cpp b/src/lib/pkgconfig/pkgconfig.cpp
index f017b365c..f26d3afba 100644
--- a/src/lib/pkgconfig/pkgconfig.cpp
+++ b/src/lib/pkgconfig/pkgconfig.cpp
@@ -238,8 +238,8 @@ std::string_view PkgConfig::packageGetVariable(const PcPackage &pkg, std::string
}
if (varval.empty()) {
- const auto it = pkg.vars.find(var);
- varval = (it != pkg.vars.end()) ? it->second : std::string_view();
+ const auto it = pkg.variables.find(var);
+ varval = (it != pkg.variables.end()) ? it->second : std::string_view();
}
return varval;
@@ -391,6 +391,7 @@ PkgConfig::Packages PkgConfig::mergeDependencies(const PkgConfig::Packages &pack
result.version = package.version;
result.description = package.description;
result.url = package.url;
+ result.variables = package.variables;
auto allDependencies = package.requiresPublic;
if (m_options.staticMode)
diff --git a/src/lib/pkgconfig/pkgconfig.qbs b/src/lib/pkgconfig/pkgconfig.qbs
index 0be5065f5..a32eb775b 100644
--- a/src/lib/pkgconfig/pkgconfig.qbs
+++ b/src/lib/pkgconfig/pkgconfig.qbs
@@ -60,7 +60,7 @@ QbsStaticLibrary {
Depends { name: "qbsvariant" }
cpp.defines: exportingProduct.publicDefines
cpp.staticLibraries: {
- if (qbs.toolchainType === "gcc" && cpp.compilerVersionMajor === 7)
+ if (qbs.toolchainType === "gcc" && cpp.compilerVersionMajor < 9)
return ["stdc++fs"];
return [];
}
diff --git a/src/lib/pkgconfig/use_pkgconfig.pri b/src/lib/pkgconfig/use_pkgconfig.pri
index e0e485e46..ad64cea6d 100644
--- a/src/lib/pkgconfig/use_pkgconfig.pri
+++ b/src/lib/pkgconfig/use_pkgconfig.pri
@@ -33,7 +33,7 @@ gcc {
isEmpty(COMPILER_VERSION) {
COMPILER_VERSION = $$system($$QMAKE_CXX " -dumpversion")
COMPILER_MAJOR_VERSION = $$str_member($$COMPILER_VERSION)
- equals(COMPILER_MAJOR_VERSION, 7) {
+ lessThan(COMPILER_MAJOR_VERSION, 9) {
LIBS += -lstdc++fs
}
}
diff --git a/src/lib/scriptengine/scriptengine.pro b/src/lib/scriptengine/scriptengine.pro
index b1e6e8bad..34fd5a5f8 100644
--- a/src/lib/scriptengine/scriptengine.pro
+++ b/src/lib/scriptengine/scriptengine.pro
@@ -1,9 +1,12 @@
TARGET = qbsscriptengine
include(../library.pri)
-INSTALLS =
QT = core-private
+versionAtLeast(QT_VERSION, 6.0.0) {
+ QT += core5compat
+}
+
DEFINES += QT_BUILD_SCRIPT_LIB
DEFINES += JSC=QTJSC jscyyparse=qtjscyyparse jscyylex=qtjscyylex jscyyerror=qtjscyyerror WTF=QTWTF
diff --git a/src/lib/scriptengine/use_scriptengine.pri b/src/lib/scriptengine/use_scriptengine.pri
index e763c9d86..ff1bb1343 100644
--- a/src/lib/scriptengine/use_scriptengine.pri
+++ b/src/lib/scriptengine/use_scriptengine.pri
@@ -4,6 +4,10 @@
QBSLIBDIR = $$shadowed($$PWD/../../../$${QBS_LIBRARY_DIRNAME})
}
+ versionAtLeast(QT_VERSION, 6.0.0) {
+ QT *= core5compat
+ }
+
LIBS += -L$$QBSLIBDIR
macos {
LIBS += -lqbsscriptengine
diff --git a/src/shared/variant/CMakeLists.txt b/src/shared/variant/CMakeLists.txt
index 5b2ccfb11..ac73231d4 100644
--- a/src/shared/variant/CMakeLists.txt
+++ b/src/shared/variant/CMakeLists.txt
@@ -1,4 +1,4 @@
-add_qbs_library(qbsvariant
- INTERFACE
- SOURCES variant.h variant.hpp
- )
+add_library(qbsvariant INTERFACE)
+target_include_directories(
+ qbsvariant
+ INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/>)