Imported Upstream version 2.8.12.2
[platform/upstream/cmake.git] / Source / cmMakeDirectoryCommand.cxx
1 /*============================================================================
2   CMake - Cross Platform Makefile Generator
3   Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
4
5   Distributed under the OSI-approved BSD License (the "License");
6   see accompanying file Copyright.txt for details.
7
8   This software is distributed WITHOUT ANY WARRANTY; without even the
9   implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
10   See the License for more information.
11 ============================================================================*/
12 #include "cmMakeDirectoryCommand.h"
13
14 // cmMakeDirectoryCommand
15 bool cmMakeDirectoryCommand
16 ::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
17 {
18   if(args.size() != 1 )
19     {
20     this->SetError("called with incorrect number of arguments");
21     return false;
22     }
23     if ( !this->Makefile->CanIWriteThisFile(args[0].c_str()) )
24       {
25       std::string e = "attempted to create a directory: " + args[0]
26         + " into a source directory.";
27       this->SetError(e.c_str());
28       cmSystemTools::SetFatalErrorOccured();
29       return false;
30       }
31   cmSystemTools::MakeDirectory(args[0].c_str());
32   return true;
33 }
34