75 lines
2.0 KiB
C++
75 lines
2.0 KiB
C++
/*=========================================================================
|
|
|
|
Program: Insight Segmentation & Registration Toolkit
|
|
Module: $RCSfile$
|
|
Language: C++
|
|
Date: $Date$
|
|
Version: $Revision$
|
|
|
|
|
|
Copyright (c) 2000 National Library of Medicine
|
|
All rights reserved.
|
|
|
|
See COPYRIGHT.txt for copyright details.
|
|
|
|
=========================================================================*/
|
|
#ifndef cmTarget_h
|
|
#define cmTarget_h
|
|
|
|
#include "cmStandardIncludes.h"
|
|
#include "cmCustomCommand.h"
|
|
#include "cmSourceFile.h"
|
|
|
|
/** \class cmTarget
|
|
* \brief Represent a library or executable target loaded from a makefile.
|
|
*
|
|
* cmTarget represents a target loaded from
|
|
* a makefile.
|
|
*/
|
|
class cmTarget
|
|
{
|
|
public:
|
|
/**
|
|
* is this target a library?
|
|
*/
|
|
bool IsALibrary() const { return m_IsALibrary; }
|
|
bool GetIsALibrary() const { return m_IsALibrary; }
|
|
void SetIsALibrary(bool f) { m_IsALibrary = f; }
|
|
|
|
/**
|
|
* Get the list of the custom commands for this target
|
|
*/
|
|
const std::vector<cmCustomCommand> &GetCustomCommands() const {return m_CustomCommands;}
|
|
std::vector<cmCustomCommand> &GetCustomCommands() {return m_CustomCommands;}
|
|
|
|
/**
|
|
* Get the list of the source lists used by this target
|
|
*/
|
|
const std::vector<std::string> &GetSourceLists() const
|
|
{return m_SourceLists;}
|
|
std::vector<std::string> &GetSourceLists() {return m_SourceLists;}
|
|
|
|
/**
|
|
* Get the list of the source files used by this target
|
|
*/
|
|
const std::vector<cmSourceFile> &GetSourceFiles() const
|
|
{return m_SourceFiles;}
|
|
std::vector<cmSourceFile> &GetSourceFiles() {return m_SourceFiles;}
|
|
|
|
/**
|
|
* Generate the SourceFilesList from the SourceLists. This should only be
|
|
* done once to be safe.
|
|
*/
|
|
void GenerateSourceFilesFromSourceLists(const cmMakefile &mf);
|
|
|
|
private:
|
|
std::vector<cmCustomCommand> m_CustomCommands;
|
|
std::vector<std::string> m_SourceLists;
|
|
bool m_IsALibrary;
|
|
std::vector<cmSourceFile> m_SourceFiles;
|
|
};
|
|
|
|
typedef std::map<std::string,cmTarget> cmTargets;
|
|
|
|
#endif
|