summaryrefslogtreecommitdiffstats
path: root/Source/cmGhsMultiGpj.cxx
blob: c0f37ba0c20c5a6d7f606ff197cf599bdc50d05b (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
34
35
36
37
38
/* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
   file Copyright.txt or https://cmake.org/licensing for details.  */
#include "cmGhsMultiGpj.h"

#include "cmGeneratedFileStream.h"

static const char* GHS_TAG[] = { "[INTEGRITY Application]",
                                 "[Library]",
                                 "[Project]",
                                 "[Program]",
                                 "[Reference]",
                                 "[Subproject]" };

const char* GhsMultiGpj::GetGpjTag(Types const gpjType)
{
  char const* tag;
  switch (gpjType) {
    case INTERGRITY_APPLICATION:
    case LIBRARY:
    case PROJECT:
    case PROGRAM:
    case REFERENCE:
    case SUBPROJECT:
      tag = GHS_TAG[gpjType];
      break;
    default:
      tag = "";
  }
  return tag;
}

void GhsMultiGpj::WriteGpjTag(Types const gpjType,
                              cmGeneratedFileStream* const filestream)
{
  char const* tag;
  tag = GhsMultiGpj::GetGpjTag(gpjType);
  *filestream << tag << std::endl;
}