cmAddDependenciesCommand.h 2.07 KB
Newer Older
Ken Martin's avatar
Ken Martin committed
1 2
/*=========================================================================

3
  Program:   CMake - Cross-Platform Makefile Generator
Ken Martin's avatar
Ken Martin committed
4 5 6 7 8
  Module:    $RCSfile$
  Language:  C++
  Date:      $Date$
  Version:   $Revision$

9 10
  Copyright (c) 2002 Kitware, Inc., Insight Consortium.  All rights reserved.
  See Copyright.txt or http://www.cmake.org/HTML/Copyright.html for details.
Ken Martin's avatar
Ken Martin committed
11

Will Schroeder's avatar
Will Schroeder committed
12 13 14
     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.
Ken Martin's avatar
Ken Martin committed
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

=========================================================================*/
#ifndef cmDependenciessCommand_h
#define cmDependenciessCommand_h

#include "cmStandardIncludes.h"
#include "cmCommand.h"

/** \class cmAddDependenciesCommand
 * \brief Add a dependency to a target
 *
 * cmAddDependenciesCommand adds a dependency to a target
 */
class cmAddDependenciesCommand : public cmCommand
{
public:
  /**
   * This is a virtual constructor for the command.
   */
  virtual cmCommand* Clone() 
    {
    return new cmAddDependenciesCommand;
    }

  /**
   * This is called when the command is first encountered in
   * the CMakeLists.txt file.
   */
43
  virtual bool InitialPass(std::vector<std::string> const& args);
Ken Martin's avatar
Ken Martin committed
44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63

  /**
   * The name of the command as specified in CMakeList.txt.
   */
  virtual const char* GetName() { return "ADD_DEPENDENCIES";}

  /**
   * Succinct documentation.
   */
  virtual const char* GetTerseDocumentation() 
    {
    return "Add an dependency to a target";
    }
  
  /**
   * More documentation.
   */
  virtual const char* GetFullDocumentation()
    {
    return
64 65 66 67 68 69
      "  ADD_DEPENDENCIES(target-name depend-target1\n"
      "                   depend-target2 ...)\n"
      "Add a dependency to a target.  This is only used to add dependencies "
      "between targets that cannot be inferred from the library/executable "
      "links that are specified.  Regular build dependencies are "
      "handled automatically.";
Ken Martin's avatar
Ken Martin committed
70 71 72 73 74 75 76
    }
  
  cmTypeMacro(cmAddDependenciesCommand, cmCommand);
};


#endif