| /* 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; | |
| }; |