CMakeLists.txt
2.84 KB
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
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
add_library(FortranEvaluateTesting
testing.cpp
fp-testing.cpp
)
target_link_libraries(FortranEvaluateTesting
LLVMSupport
)
add_executable(leading-zero-bit-count-test
leading-zero-bit-count.cpp
)
target_link_libraries(leading-zero-bit-count-test
FortranEvaluateTesting
LLVMSupport
)
add_executable(bit-population-count-test
bit-population-count.cpp
)
target_link_libraries(bit-population-count-test
FortranEvaluateTesting
LLVMSupport
)
add_executable(uint128-test
uint128.cpp
)
target_link_libraries(uint128-test
FortranEvaluateTesting
LLVMSupport
)
# These routines live in lib/Common but we test them here.
add_test(UINT128 uint128-test)
add_test(Leadz leading-zero-bit-count-test)
add_test(PopPar bit-population-count-test)
add_executable(expression-test
expression.cpp
)
target_link_libraries(expression-test
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
FortranParser
LLVMSupport
)
add_executable(integer-test
integer.cpp
)
target_link_libraries(integer-test
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
LLVMSupport
)
add_executable(intrinsics-test
intrinsics.cpp
)
target_link_libraries(intrinsics-test
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranDecimal
FortranSemantics
FortranParser
FortranRuntime
LLVMSupport
)
add_executable(logical-test
logical.cpp
)
target_link_libraries(logical-test
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
LLVMSupport
)
# GCC -fno-exceptions breaks the fenv.h interfaces needed to capture
# IEEE exception flags (different use of the word "exception")
# in the actual hardware floating-point status register, so ensure that
# C++ exceptions are enabled for this test.
set(LLVM_REQUIRES_EH ON)
set(LLVM_REQUIRES_RTTI ON)
add_executable(real-test
real.cpp
)
llvm_update_compile_flags(real-test)
target_link_libraries(real-test
FortranEvaluateTesting
FortranEvaluate
FortranDecimal
FortranSemantics
LLVMSupport
)
add_executable(reshape-test
reshape.cpp
)
target_link_libraries(reshape-test
FortranEvaluateTesting
FortranSemantics
FortranEvaluate
FortranRuntime
LLVMSupport
)
add_executable(ISO-Fortran-binding-test
ISO-Fortran-binding.cpp
)
target_link_libraries(ISO-Fortran-binding-test
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
FortranRuntime
LLVMSupport
)
add_executable(folding-test
folding.cpp
)
target_link_libraries(folding-test
FortranCommon
FortranEvaluateTesting
FortranEvaluate
FortranSemantics
LLVMSupport
)
add_test(Expression expression-test)
add_test(Integer integer-test)
add_test(Intrinsics intrinsics-test)
add_test(Logical logical-test)
add_test(Real real-test)
add_test(RESHAPE reshape-test)
add_test(ISO-binding ISO-Fortran-binding-test)
add_test(folding folding-test)