File: compiletest.cpp

package info (click to toggle)
cmake 3.25.1-1
  • links: PTS, VCS
  • area: main
  • in suites: bookworm
  • size: 121,376 kB
  • sloc: ansic: 361,053; cpp: 250,806; sh: 3,828; yacc: 3,243; python: 2,707; lex: 1,328; lisp: 382; asm: 371; f90: 314; java: 266; perl: 217; objc: 212; xml: 202; cs: 200; fortran: 131; makefile: 99; javascript: 83; pascal: 63; tcl: 55; php: 25; ruby: 22
file content (112 lines) | stat: -rw-r--r-- 2,609 bytes parent folder | download | duplicates (6)
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112

#ifndef CMAKE_IS_FUN
#  error Expect CMAKE_IS_FUN definition
#endif

#if CMAKE_IS != Fun
#  error Expect CMAKE_IS=Fun definition
#endif

template <bool test>
struct CMakeStaticAssert;

template <>
struct CMakeStaticAssert<true>
{
};

static const char fun_string[] = CMAKE_IS_;
#ifndef NO_SPACES_IN_DEFINE_VALUES
static const char very_fun_string[] = CMAKE_IS_REALLY;
#endif

enum
{
  StringLiteralTest1 =
    sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_) == sizeof("Fun")>),
#ifndef NO_SPACES_IN_DEFINE_VALUES
  StringLiteralTest2 =
    sizeof(CMakeStaticAssert<sizeof(CMAKE_IS_REALLY) == sizeof("Very Fun")>),
#endif
#ifdef TEST_GENERATOR_EXPRESSIONS
  StringLiteralTest3 =
    sizeof(CMakeStaticAssert<sizeof(LETTER_LIST1) == sizeof("A,B,C,D")>),
  StringLiteralTest4 =
    sizeof(CMakeStaticAssert<sizeof(LETTER_LIST2) == sizeof("A,,B,,C,,D")>),
  StringLiteralTest5 =
    sizeof(CMakeStaticAssert<sizeof(LETTER_LIST3) == sizeof("A,-B,-C,-D")>),
  StringLiteralTest6 =
    sizeof(CMakeStaticAssert<sizeof(LETTER_LIST4) == sizeof("A-,-B-,-C-,-D")>),
  StringLiteralTest7 =
    sizeof(CMakeStaticAssert<sizeof(LETTER_LIST5) == sizeof("A-,B-,C-,D")>)
#endif
};

#ifdef TEST_GENERATOR_EXPRESSIONS
#  ifndef CMAKE_IS_DECLARATIVE
#    error Expect declarative definition
#  endif
#  ifdef GE_NOT_DEFINED
#    error Expect not defined generator expression
#  endif

#  ifndef ARGUMENT
#    error Expected define expanded from list
#  endif
#  ifndef LIST
#    error Expected define expanded from list
#  endif

#  ifndef PREFIX_DEF1
#    error Expect PREFIX_DEF1
#  endif

#  ifndef PREFIX_DEF2
#    error Expect PREFIX_DEF2
#  endif

#  ifndef LINK_CXX_DEFINE
#    error Expected LINK_CXX_DEFINE
#  endif
#  ifndef LINK_LANGUAGE_IS_CXX
#    error Expected LINK_LANGUAGE_IS_CXX
#  endif

#  ifdef LINK_C_DEFINE
#    error Unexpected LINK_C_DEFINE
#  endif
#  ifdef LINK_LANGUAGE_IS_C
#    error Unexpected LINK_LANGUAGE_IS_C
#  endif

// TEST_GENERATOR_EXPRESSIONS
#endif

#ifndef BUILD_IS_DEBUG
#  error "BUILD_IS_DEBUG not defined!"
#endif
#ifndef BUILD_IS_NOT_DEBUG
#  error "BUILD_IS_NOT_DEBUG not defined!"
#endif

// Check per-config definitions.
#ifdef TEST_CONFIG_DEBUG
#  if !BUILD_IS_DEBUG
#    error "BUILD_IS_DEBUG false with TEST_CONFIG_DEBUG!"
#  endif
#  if BUILD_IS_NOT_DEBUG
#    error "BUILD_IS_NOT_DEBUG true with TEST_CONFIG_DEBUG!"
#  endif
#else
#  if BUILD_IS_DEBUG
#    error "BUILD_IS_DEBUG true without TEST_CONFIG_DEBUG!"
#  endif
#  if !BUILD_IS_NOT_DEBUG
#    error "BUILD_IS_NOT_DEBUG false without TEST_CONFIG_DEBUG!"
#  endif
#endif

int main(int argc, char** argv)
{
  return 0;
}