cmFLTKWrapUICommand.h 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #ifndef cmFLTKWrapUICommand_h
  4. #define cmFLTKWrapUICommand_h
  5. #include "cmConfigure.h" // IWYU pragma: keep
  6. #include <string>
  7. #include <vector>
  8. #include "cmCommand.h"
  9. class cmExecutionStatus;
  10. class cmSourceFile;
  11. /** \class cmFLTKWrapUICommand
  12. * \brief Create .h and .cxx files rules for FLTK user interfaces files
  13. *
  14. * cmFLTKWrapUICommand is used to create wrappers for FLTK classes into
  15. * normal C++
  16. */
  17. class cmFLTKWrapUICommand : public cmCommand
  18. {
  19. public:
  20. /**
  21. * This is a virtual constructor for the command.
  22. */
  23. cmCommand* Clone() override { return new cmFLTKWrapUICommand; }
  24. /**
  25. * This is called when the command is first encountered in
  26. * the CMakeLists.txt file.
  27. */
  28. bool InitialPass(std::vector<std::string> const& args,
  29. cmExecutionStatus& status) override;
  30. /**
  31. * This is called at the end after all the information
  32. * specified by the command is accumulated. Most commands do
  33. * not implement this method. At this point, reading and
  34. * writing to the cache can be done.
  35. */
  36. void FinalPass() override;
  37. bool HasFinalPass() const override { return true; }
  38. private:
  39. /**
  40. * List of produced files.
  41. */
  42. std::vector<cmSourceFile*> GeneratedSourcesClasses;
  43. /**
  44. * List of Fluid files that provide the source
  45. * generating .cxx and .h files
  46. */
  47. std::string Target;
  48. };
  49. #endif