cmBuildOptions.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file LICENSE.rst or https://cmake.org/licensing for details. */
  3. #pragma once
  4. #include "cmConfigure.h" // IWYU pragma: keep
  5. /** \brief Defines how to resolve packages **/
  6. enum class PackageResolveMode
  7. {
  8. /** \brief Behavior is defined by preset or cache variable (e.g.
  9. CMAKE_VS_NUGET_PACKAGE_RESTORE). This is the default. **/
  10. Default,
  11. /** \brief Ignore behavior defined by preset or cache variable and forces
  12. packages to be resolved prior to build. **/
  13. Force,
  14. /** \brief Ignore behavior defined by preset or cache variable and forces
  15. packages to be resolved, but skip the actual build. **/
  16. OnlyResolve,
  17. /** \brief Ignore behavior defined by preset or cache variable and don't
  18. resolve any packages **/
  19. Disable
  20. };
  21. struct cmBuildOptions
  22. {
  23. public:
  24. cmBuildOptions() noexcept = default;
  25. explicit cmBuildOptions(bool clean, bool fast,
  26. PackageResolveMode resolveMode) noexcept
  27. : Clean(clean)
  28. , Fast(fast)
  29. , ResolveMode(resolveMode)
  30. {
  31. }
  32. bool Clean = false;
  33. bool Fast = false;
  34. PackageResolveMode ResolveMode = PackageResolveMode::Default;
  35. };