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