/*========================================================================= Program: CMake - Cross-Platform Makefile Generator Module: $RCSfile: cmIncludeExternalMSProjectCommand.cxx,v $ Language: C++ Date: $Date: 2008-01-28 13:38:35 $ Version: $Revision: 1.23 $ Copyright (c) 2002 Kitware, Inc., Insight Consortium. All rights reserved. See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notices for more information. =========================================================================*/ #include "cmIncludeExternalMSProjectCommand.h" // cmIncludeExternalMSProjectCommand bool cmIncludeExternalMSProjectCommand ::InitialPass(std::vector const& args, cmExecutionStatus &) { if(args.size() < 2) { this->SetError("INCLUDE_EXTERNAL_MSPROJECT called with incorrect " "number of arguments"); return false; } // only compile this for win32 to avoid coverage errors #ifdef _WIN32 if(this->Makefile->GetDefinition("WIN32")) { std::string location = args[1]; std::vector depends; if (args.size() > 2) { for (unsigned int i=2; iMakefile->AddNewTarget(cmTarget::UTILITY, utility_name.c_str()); target->SetProperty("EXCLUDE_FROM_ALL","FALSE"); std::vector no_outputs; cmCustomCommandLines commandLines; cmCustomCommandLine commandLine; commandLine.push_back(args[0]); commandLine.push_back(path); commandLines.push_back(commandLine); cmCustomCommand cc(no_outputs, depends, commandLines, 0, 0); target->GetPostBuildCommands().push_back(cc); } #endif return true; }