1 /*============================================================================
2 CMake - Cross Platform Makefile Generator
3 Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
5 Distributed under the OSI-approved BSD License (the "License");
6 see accompanying file Copyright.txt for details.
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 "cmGetTargetPropertyCommand.h"
14 // cmSetTargetPropertyCommand
15 bool cmGetTargetPropertyCommand
16 ::InitialPass(std::vector<std::string> const& args, cmExecutionStatus &)
20 this->SetError("called with incorrect number of arguments");
23 std::string var = args[0].c_str();
24 const char* targetName = args[1].c_str();
27 if(args[2] == "ALIASED_TARGET")
29 if(this->Makefile->IsAlias(targetName))
32 this->Makefile->FindTargetToUse(targetName))
34 prop = target->GetName();
38 else if(cmTarget* tgt = this->Makefile->FindTargetToUse(targetName))
40 cmTarget& target = *tgt;
41 prop = target.GetProperty(args[2].c_str());
46 this->Makefile->AddDefinition(var.c_str(), prop);
49 this->Makefile->AddDefinition(var.c_str(), (var+"-NOTFOUND").c_str());