/src/CMake/Source/cmBuildOptions.h
Line | Count | Source |
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 | | |
5 | | #include "cmConfigure.h" // IWYU pragma: keep |
6 | | |
7 | | /** \brief Defines how to resolve packages **/ |
8 | | enum class PackageResolveMode |
9 | | { |
10 | | /** \brief Behavior is defined by preset or cache variable (e.g. |
11 | | CMAKE_VS_NUGET_PACKAGE_RESTORE). This is the default. **/ |
12 | | Default, |
13 | | |
14 | | /** \brief Ignore behavior defined by preset or cache variable and forces |
15 | | packages to be resolved prior to build. **/ |
16 | | Force, |
17 | | |
18 | | /** \brief Ignore behavior defined by preset or cache variable and forces |
19 | | packages to be resolved, but skip the actual build. **/ |
20 | | OnlyResolve, |
21 | | |
22 | | /** \brief Ignore behavior defined by preset or cache variable and don't |
23 | | resolve any packages **/ |
24 | | Disable |
25 | | }; |
26 | | |
27 | | struct cmBuildOptions |
28 | | { |
29 | | public: |
30 | | cmBuildOptions() noexcept = default; |
31 | | explicit cmBuildOptions(bool clean, bool fast, |
32 | | PackageResolveMode resolveMode) noexcept |
33 | 0 | : Clean(clean) |
34 | 0 | , Fast(fast) |
35 | 0 | , ResolveMode(resolveMode) |
36 | 0 | { |
37 | 0 | } |
38 | | |
39 | | bool Clean = false; |
40 | | bool Fast = false; |
41 | | PackageResolveMode ResolveMode = PackageResolveMode::Default; |
42 | | }; |