summaryrefslogtreecommitdiffstats
path: root/Source/cmGenExContext.h
blob: 85c8ab2a29bb6a111e673f12efff0696b0e58ae6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file LICENSE.rst or https://cmake.org/licensing for details.  */
#pragma once

#include <string>

#include <cm/optional>

#include "cmPolicies.h"

class cmLocalGenerator;

namespace cm {
namespace GenEx {

struct Context final
{
  Context(cmLocalGenerator const* lg, std::string config,
          std::string language = std::string());

  cmLocalGenerator const* LG;
  std::string Config;
  std::string Language;

  void SetCMP0189(cmPolicies::PolicyStatus cmp0189);
  cmPolicies::PolicyStatus GetCMP0189() const;

private:
  cm::optional<cmPolicies::PolicyStatus> CMP0189;
};

}
}