diff options
author | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-01-04 12:35:28 +0100 |
---|---|---|
committer | Nikolai Kosjar <nikolai.kosjar@qt.io> | 2019-01-10 07:13:38 +0000 |
commit | 4ce9ec5d63e5690d4402ec56a46ed99a60eaa6d3 (patch) | |
tree | c551955f0b3cf6df3f9178b8b8486abfea861186 /src/plugins/cpptools/cppkitinfo.cpp | |
parent | 6b5b94d7caf6dc427c25e4ed9b3d9e1240532ec6 (diff) | |
download | qt-creator-4ce9ec5d63e5690d4402ec56a46ed99a60eaa6d3.tar.gz |
CppTools: De-duplicate code for CppProjectUpdater
Centralize gathering the kit, toolchains and qt version.
Change-Id: I6bd586ac7925e2ee556fd119f1dab096cd500e41
Reviewed-by: Christian Kandeler <christian.kandeler@qt.io>
Diffstat (limited to 'src/plugins/cpptools/cppkitinfo.cpp')
-rw-r--r-- | src/plugins/cpptools/cppkitinfo.cpp | 61 |
1 files changed, 61 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppkitinfo.cpp b/src/plugins/cpptools/cppkitinfo.cpp new file mode 100644 index 0000000000..d7bfcdebda --- /dev/null +++ b/src/plugins/cpptools/cppkitinfo.cpp @@ -0,0 +1,61 @@ +/**************************************************************************** +** +** Copyright (C) 2019 The Qt Company Ltd. +** Contact: https://www.qt.io/licensing/ +** +** This file is part of Qt Creator. +** +** Commercial License Usage +** Licensees holding valid commercial Qt licenses may use this file in +** accordance with the commercial license agreement provided with the +** Software or, alternatively, in accordance with the terms contained in +** a written agreement between you and The Qt Company. For licensing terms +** and conditions see https://www.qt.io/terms-conditions. For further +** information use the contact form at https://www.qt.io/contact-us. +** +** GNU General Public License Usage +** Alternatively, this file may be used under the terms of the GNU +** General Public License version 3 as published by the Free Software +** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT +** included in the packaging of this file. Please review the following +** information to ensure the GNU General Public License requirements will +** be met: https://www.gnu.org/licenses/gpl-3.0.html. +** +****************************************************************************/ + +#include "cppkitinfo.h" + +#include <projectexplorer/kit.h> +#include <projectexplorer/kitinformation.h> +#include <projectexplorer/kitmanager.h> +#include <projectexplorer/project.h> +#include <projectexplorer/projectexplorerconstants.h> +#include <projectexplorer/target.h> + +#include <qtsupport/qtkitinformation.h> + +namespace CppTools { + +using namespace ProjectExplorer; + +KitInfo::KitInfo(Project *project) +{ + // Kit + if (Target *target = project->activeTarget()) + kit = target->kit(); + else + kit = KitManager::defaultKit(); + + // Toolchains + if (kit) { + cToolChain = ToolChainKitInformation::toolChain(kit, Constants::C_LANGUAGE_ID); + cxxToolChain = ToolChainKitInformation::toolChain(kit, Constants::CXX_LANGUAGE_ID); + } +} + +bool KitInfo::isValid() const +{ + return kit; +} + +} // namespace CppTools |