| /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying |
| file Copyright.txt or https://cmake.org/licensing for details. */ |
| #pragma once |
| |
| #include "cmConfigure.h" // IWYU pragma: keep |
| |
| /** \brief Defines how to resolve packages **/ |
| enum class PackageResolveMode |
| { |
| /** \brief Behavior is defined by preset or cache variable (e.g. |
| CMAKE_VS_NUGET_PACKAGE_RESTORE). This is the default. **/ |
| Default, |
| |
| /** \brief Ignore behavior defined by preset or cache variable and forces |
| packages to be resolved prior to build. **/ |
| Force, |
| |
| /** \brief Ignore behavior defined by preset or cache variable and forces |
| packages to be resolved, but skip the actual build. **/ |
| OnlyResolve, |
| |
| /** \brief Ignore behavior defined by preset or cache variable and don't |
| resolve any packages **/ |
| Disable |
| }; |
| |
| struct cmBuildOptions |
| { |
| public: |
| cmBuildOptions() noexcept = default; |
| explicit cmBuildOptions(bool clean, bool fast, |
| PackageResolveMode resolveMode) noexcept |
| : Clean(clean) |
| , Fast(fast) |
| , ResolveMode(resolveMode) |
| { |
| } |
| explicit cmBuildOptions(const cmBuildOptions&) noexcept = default; |
| cmBuildOptions& operator=(const cmBuildOptions&) noexcept = default; |
| |
| bool Clean = false; |
| bool Fast = false; |
| PackageResolveMode ResolveMode = PackageResolveMode::Default; |
| }; |