/*========================================================================= 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 &GetCustomCommands() const {return m_CustomCommands;} std::vector &GetCustomCommands() {return m_CustomCommands;} /** * Get the list of the source lists used by this target */ const std::vector &GetSourceLists() const {return m_SourceLists;} std::vector &GetSourceLists() {return m_SourceLists;} /** * Get the list of the source files used by this target */ const std::vector &GetSourceFiles() const {return m_SourceFiles;} std::vector &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 m_CustomCommands; std::vector m_SourceLists; bool m_IsALibrary; std::vector m_SourceFiles; }; typedef std::map cmTargets; #endif