| /* 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 Defines behavior based on cache variable (e.g. |
| CMAKE_VS_NUGET_PACKAGE_RESTORE). This is the default. **/ |
| FromCacheVariable, |
| |
| /** \brief Ignore behavior defined by cache variable and forces packages to |
| be resolved prior to build. **/ |
| Force, |
| |
| /** \brief Ignore behavior defined by cache variable and forces packages to |
| be resolved, but skip the actual build. **/ |
| OnlyResolve, |
| |
| /** \brief Ignore behavior defined by cache variable and dont 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::FromCacheVariable; |
| }; |