forked from qt-creator/qt-creator
CMakeProjectManager: Add package manager auto-setup
Adds CMAKE_PROJECT_INCLUDE_BEFORE as initial CMake parameters with a path to a auto-setup.cmake script that will run conan install if a conanfile.txt is found in the prject. A project can have a local QtCreatorPackageManager.cmake file that will be loaded if exists. The auto setup can be controlled via the following CMake variables: * QT_CREATOR_SKIP_PACKAGE_MANAGER_SETUP * QT_CREATOR_SKIP_CONAN_SETUP * QT_CREATOR_SKIP_VCPKG_SETUP conan.cmake is taken from https://github.com/conan-io/cmake-conan which takes care of the conan specific compiler cruft. License is MIT. Fixes: QTCREATORBUG-25362 Change-Id: I70a6e1abc5600851d048f1590ca24204ce52a503 Reviewed-by: Alessandro Portale <alessandro.portale@qt.io>
This commit is contained in:
@@ -32,6 +32,7 @@ namespace {
|
||||
static const char SETTINGS_KEY[] = "CMakeSpecificSettings";
|
||||
static const char AFTER_ADD_FILE_ACTION_KEY[] = "ProjectPopupSetting";
|
||||
static const char NINJA_PATH[] = "NinjaPath";
|
||||
static const char PACKAGE_MANAGER_AUTO_SETUP[] = "PackageManagerAutoSetup";
|
||||
}
|
||||
|
||||
void CMakeSpecificSettings::fromSettings(QSettings *settings)
|
||||
@@ -43,12 +44,15 @@ void CMakeSpecificSettings::fromSettings(QSettings *settings)
|
||||
|
||||
m_ninjaPath = Utils::FilePath::fromUserInput(
|
||||
settings->value(rootKey + NINJA_PATH, QString()).toString());
|
||||
|
||||
m_packageManagerAutoSetup = settings->value(rootKey + PACKAGE_MANAGER_AUTO_SETUP, true).toBool();
|
||||
}
|
||||
|
||||
void CMakeSpecificSettings::toSettings(QSettings *settings) const
|
||||
{
|
||||
settings->beginGroup(QString(SETTINGS_KEY));
|
||||
settings->setValue(QString(AFTER_ADD_FILE_ACTION_KEY), static_cast<int>(m_afterAddFileToProjectSetting));
|
||||
settings->setValue(QString(PACKAGE_MANAGER_AUTO_SETUP), m_packageManagerAutoSetup);
|
||||
settings->endGroup();
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user