diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h b/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h index 516e3e61754d8d31ea41eea7ee5985a3e3407cfb..4832f17f26383d9deab8e48d2f9820068e95fa0e 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h +++ b/src/plugins/cmakeprojectmanager/cmakeprojectconstants.h @@ -40,6 +40,7 @@ namespace Constants { const char * const PROJECTCONTEXT = "CMakeProject.ProjectContext"; const char * const CMAKEMIMETYPE = "text/x-cmake"; // TOOD check that this is correct const char * const CMAKESTEP = "CMakeProjectManager.CMakeStep"; +const char * const MAKESTEP = "CMakeProjectManager.MakeStep"; } // namespace Constants diff --git a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.pro b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.pro index 3d427a93d8b4b2237610dcf529ccfad2b442daa9..afca26b265b2d355d643d0c9c3f4ad7d385372da 100644 --- a/src/plugins/cmakeprojectmanager/cmakeprojectmanager.pro +++ b/src/plugins/cmakeprojectmanager/cmakeprojectmanager.pro @@ -7,10 +7,12 @@ HEADERS = cmakeproject.h \ cmakeprojectmanager.h \ cmakeprojectconstants.h \ cmakeprojectnodes.h \ - cmakestep.h + cmakestep.h \ + makestep.h SOURCES = cmakeproject.cpp \ cmakeprojectplugin.cpp \ cmakeprojectmanager.cpp \ cmakeprojectnodes.cpp \ - cmakestep.cpp + cmakestep.cpp \ + makestep.cpp RESOURCES += cmakeproject.qrc diff --git a/src/plugins/cmakeprojectmanager/cmakestep.cpp b/src/plugins/cmakeprojectmanager/cmakestep.cpp index 821bf6b1beca5b1b356adfa8d12430eaa7626325..523741c92ba9e16d838f4747f3dbcf8e1096eed5 100644 --- a/src/plugins/cmakeprojectmanager/cmakestep.cpp +++ b/src/plugins/cmakeprojectmanager/cmakestep.cpp @@ -1,3 +1,36 @@ +/*************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Qt Software Information (qt-info@nokia.com) +** +** +** Non-Open Source Usage +** +** Licensees may use this file in accordance with the Qt Beta Version +** License Agreement, Agreement version 2.2 provided with the Software or, +** alternatively, in accordance with the terms contained in a written +** agreement between you and Nokia. +** +** GNU General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the packaging +** of this file. Please review the following information to ensure GNU +** General Public Licensing requirements will be met: +** +** http://www.fsf.org/licensing/licenses/info/GPLv2.html and +** http://www.gnu.org/copyleft/gpl.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt GPL Exception +** version 1.2, included in the file GPL_EXCEPTION.txt in this package. +** +***************************************************************************/ + #include "cmakestep.h" #include "cmakeprojectconstants.h" #include "cmakeproject.h" @@ -6,7 +39,7 @@ using namespace CMakeProjectManager; using namespace CMakeProjectManager::Internal; CMakeStep::CMakeStep(CMakeProject *pro) - : BuildStep(pro), m_pro(pro) + : AbstractProcessStep(pro), m_pro(pro) { } @@ -18,14 +51,17 @@ CMakeStep::~CMakeStep() bool CMakeStep::init(const QString &buildConfiguration) { - // TODO - return true; + setEnabled(buildConfiguration, true); + setWorkingDirectory(buildConfiguration, m_pro->buildDirectory(buildConfiguration)); + setCommand(buildConfiguration, "cmake"); // TODO give full path here? + setArguments(buildConfiguration, QStringList()); // TODO + setEnvironment(buildConfiguration, m_pro->environment(buildConfiguration)); + return AbstractProcessStep::init(buildConfiguration); } void CMakeStep::run(QFutureInterface<bool> &fi) { - // TODO - fi.reportResult(true); + AbstractProcessStep::run(fi); } QString CMakeStep::name() diff --git a/src/plugins/cmakeprojectmanager/cmakestep.h b/src/plugins/cmakeprojectmanager/cmakestep.h index dea4499efc4fc3c6b05abc9d6772f6d5554528b4..75cc0d6ba3804b8eef0a51b810121097a0ba174c 100644 --- a/src/plugins/cmakeprojectmanager/cmakestep.h +++ b/src/plugins/cmakeprojectmanager/cmakestep.h @@ -1,7 +1,41 @@ +/*************************************************************************** +** +** This file is part of Qt Creator +** +** Copyright (c) 2008 Nokia Corporation and/or its subsidiary(-ies). +** +** Contact: Qt Software Information (qt-info@nokia.com) +** +** +** Non-Open Source Usage +** +** Licensees may use this file in accordance with the Qt Beta Version +** License Agreement, Agreement version 2.2 provided with the Software or, +** alternatively, in accordance with the terms contained in a written +** agreement between you and Nokia. +** +** GNU General Public License Usage +** +** Alternatively, this file may be used under the terms of the GNU General +** Public License versions 2.0 or 3.0 as published by the Free Software +** Foundation and appearing in the file LICENSE.GPL included in the packaging +** of this file. Please review the following information to ensure GNU +** General Public Licensing requirements will be met: +** +** http://www.fsf.org/licensing/licenses/info/GPLv2.html and +** http://www.gnu.org/copyleft/gpl.html. +** +** In addition, as a special exception, Nokia gives you certain additional +** rights. These rights are described in the Nokia Qt GPL Exception +** version 1.2, included in the file GPL_EXCEPTION.txt in this package. +** +***************************************************************************/ + #ifndef CMAKESTEP_H #define CMAKESTEP_H #include <projectexplorer/buildstep.h> +#include <projectexplorer/abstractprocessstep.h> namespace CMakeProjectManager { namespace Internal { @@ -10,7 +44,7 @@ class CMakeProject; class CMakeBuildStepConfigWidget; -class CMakeStep : public ProjectExplorer::BuildStep +class CMakeStep : public ProjectExplorer::AbstractProcessStep { public: CMakeStep(CMakeProject *pro);