summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppkitinfo.cpp
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2019-01-04 12:35:28 +0100
committerNikolai Kosjar <nikolai.kosjar@qt.io>2019-01-10 07:13:38 +0000
commit4ce9ec5d63e5690d4402ec56a46ed99a60eaa6d3 (patch)
treec551955f0b3cf6df3f9178b8b8486abfea861186 /src/plugins/cpptools/cppkitinfo.cpp
parent6b5b94d7caf6dc427c25e4ed9b3d9e1240532ec6 (diff)
downloadqt-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.cpp61
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