cmLinkDirectoriesCommand.h 2.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. /*=========================================================================
  2. Program: Insight Segmentation & Registration Toolkit
  3. Module: $RCSfile$
  4. Language: C++
  5. Date: $Date$
  6. Version: $Revision$
  7. Copyright (c) 2002 Insight Consortium. All rights reserved.
  8. See ITKCopyright.txt or http://www.itk.org/HTML/Copyright.htm for details.
  9. This software is distributed WITHOUT ANY WARRANTY; without even
  10. the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
  11. PURPOSE. See the above copyright notices for more information.
  12. =========================================================================*/
  13. #ifndef cmLinkDirectoriesCommand_h
  14. #define cmLinkDirectoriesCommand_h
  15. #include "cmStandardIncludes.h"
  16. #include "cmCommand.h"
  17. /** \class cmLinkDirectoriesCommand
  18. * \brief Define a list of directories containing files to link.
  19. *
  20. * cmLinkDirectoriesCommand is used to specify a list
  21. * of directories containing files to link into executable(s).
  22. * Note that the command supports the use of CMake built-in variables
  23. * such as CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR.
  24. */
  25. class cmLinkDirectoriesCommand : public cmCommand
  26. {
  27. public:
  28. /**
  29. * This is a virtual constructor for the command.
  30. */
  31. virtual cmCommand* Clone()
  32. {
  33. return new cmLinkDirectoriesCommand;
  34. }
  35. /**
  36. * This is called when the command is first encountered in
  37. * the CMakeLists.txt file.
  38. */
  39. virtual bool InitialPass(std::vector<std::string> const& args);
  40. /**
  41. * This determines if the command gets propagated down
  42. * to makefiles located in subdirectories.
  43. */
  44. virtual bool IsInherited() { return true; }
  45. /**
  46. * The name of the command as specified in CMakeList.txt.
  47. */
  48. virtual const char* GetName() { return "LINK_DIRECTORIES";}
  49. /**
  50. * Succinct documentation.
  51. */
  52. virtual const char* GetTerseDocumentation()
  53. {
  54. return "Specify link directories.";
  55. }
  56. /**
  57. * More documentation.
  58. */
  59. virtual const char* GetFullDocumentation()
  60. {
  61. return
  62. "LINK_DIRECTORIES(directory1 directory2 ...)\n"
  63. "Specify the paths to the libraries that will be linked in.\n"
  64. "The directories can use built in definitions like \n"
  65. "CMAKE_BINARY_DIR and CMAKE_SOURCE_DIR.";
  66. }
  67. cmTypeMacro(cmLinkDirectoriesCommand, cmCommand);
  68. };
  69. #endif