forked from qt-creator/qt-creator
MesonProjectManager: forward Python executable and some CMake info
This is more consistent use the Python executable set in the Kit. Meson has some CMake support for subprojects/dependencies, forwarding the compilers and Qt install PATH makes sense too. There is one big limitation with Meson, it doesn't support projects using AUTOMOC so far. Change-Id: Ie569d3f98f7a9d0ff8564c96916b49b9ac7cbfbd Reviewed-by: hjk <hjk@qt.io>
This commit is contained in:
@@ -14,7 +14,9 @@ struct KitData
|
||||
QString cCompilerPath;
|
||||
QString cxxCompilerPath;
|
||||
QString cmakePath;
|
||||
QString pythonPath;
|
||||
QString qmakePath;
|
||||
QString qtPrefixPath;
|
||||
QString qtVersionStr;
|
||||
Utils::QtMajorVersion qtVersion;
|
||||
};
|
||||
|
@@ -65,7 +65,9 @@ static KitData createKitData(const Kit *kit)
|
||||
data.cxxCompilerPath = expander->expand(QString("%{Compiler:Executable:Cxx}"));
|
||||
data.cmakePath = expander->expand(QString("%{CMake:Executable:FilePath}"));
|
||||
data.qmakePath = expander->expand(QString("%{Qt:qmakeExecutable}"));
|
||||
data.qtPrefixPath = expander->expand(QString("%{Qt:QT_INSTALL_PREFIX}"));
|
||||
data.qtVersionStr = expander->expand(QString("%{Qt:Version}"));
|
||||
data.pythonPath = expander->expand(QString("%{Python:Path}"));
|
||||
data.qtVersion = Utils::QtMajorVersion::None;
|
||||
auto version = QVersionNumber::fromString(data.qtVersionStr);
|
||||
if (!version.isNull()) {
|
||||
@@ -140,6 +142,10 @@ void MachineFileManager::addMachineFile(const Kit *kit)
|
||||
ba += entry("c", kitData.cCompilerPath);
|
||||
ba += entry("cpp", kitData.cxxCompilerPath);
|
||||
ba += entry("qmake", kitData.qmakePath);
|
||||
if (!kitData.pythonPath.isEmpty()){
|
||||
ba += entry("python3", kitData.pythonPath);
|
||||
ba += entry("python", kitData.pythonPath);
|
||||
}
|
||||
if (kitData.qtVersion == QtMajorVersion::Qt4)
|
||||
ba += entry("qmake-qt4", kitData.qmakePath);
|
||||
else if (kitData.qtVersion == QtMajorVersion::Qt5)
|
||||
@@ -147,6 +153,10 @@ void MachineFileManager::addMachineFile(const Kit *kit)
|
||||
else if (kitData.qtVersion == QtMajorVersion::Qt6)
|
||||
ba += entry("qmake-qt6", kitData.qmakePath);
|
||||
ba += entry("cmake", kitData.cmakePath);
|
||||
ba += "\n[cmake]\n";
|
||||
ba += entry("CMAKE_C_COMPILER", kitData.cCompilerPath);
|
||||
ba += entry("CMAKE_CXX_COMPILER", kitData.cxxCompilerPath);
|
||||
ba += entry("CMAKE_PREFIX_PATH", kitData.qtPrefixPath);
|
||||
|
||||
filePath.writeFileContents(ba);
|
||||
}
|
||||
|
Reference in New Issue
Block a user