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);