"imported" executable target. This can then be used e.g. with ADD_CUSTOM_COMMAND() to generate stuff. It adds a second container for "imported" targets, and FindTarget() now takes an additional argument bool useImportedTargets to specify whether you also want to search in the imported targets or only in the "normal" targets. Alex
47 lines
1.4 KiB
C++
47 lines
1.4 KiB
C++
/*=========================================================================
|
|
|
|
Program: CMake - Cross-Platform Makefile Generator
|
|
Module: $RCSfile$
|
|
Language: C++
|
|
Date: $Date$
|
|
Version: $Revision$
|
|
|
|
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 "cmGetTargetPropertyCommand.h"
|
|
|
|
// cmSetTargetPropertyCommand
|
|
bool cmGetTargetPropertyCommand::InitialPass(
|
|
std::vector<std::string> const& args)
|
|
{
|
|
if(args.size() != 3 )
|
|
{
|
|
this->SetError("called with incorrect number of arguments");
|
|
return false;
|
|
}
|
|
const char* var = args[0].c_str();
|
|
const char* targetName = args[1].c_str();
|
|
|
|
cmTarget *tgt = this->Makefile->GetLocalGenerator()->GetGlobalGenerator()
|
|
->FindTarget(0, targetName, true);
|
|
if (tgt)
|
|
{
|
|
cmTarget& target = *tgt;
|
|
const char *prop = target.GetProperty(args[2].c_str());
|
|
if (prop)
|
|
{
|
|
this->Makefile->AddDefinition(var, prop);
|
|
return true;
|
|
}
|
|
}
|
|
this->Makefile->AddDefinition(var, "NOTFOUND");
|
|
return true;
|
|
}
|
|
|