@@ -24,6 +24,8 @@ set(PTS_EXECUTABLE "" CACHE FILEPATH "Path to PTS which runs tests.")
24
24
if (NOT EXISTS "${PTS_EXECUTABLE} " )
25
25
message (SEND_ERROR "Could NOT find PTS which is required to run tests."
26
26
" Set PTS_EXECUTABLE variable." )
27
+ else ()
28
+ message (STATUS "Perl executable: ${PERL_EXECUTABLE} " )
27
29
endif ()
28
30
get_filename_component (TS_PTS_PATH "${PTS_EXECUTABLE} " ABSOLUTE )
29
31
@@ -39,6 +41,13 @@ if (TSAR_FOUND)
39
41
if (TS_CLANG_TOOL )
40
42
message (STATUS "Use Clang from TSAR package." )
41
43
endif ()
44
+ set (TS_LLVM_LINK_TOOL )
45
+ if ("llvm-link" IN_LIST TSAR_LLVM_TOOLS )
46
+ set (TS_LLVM_LINK_TOOL llvm-link )
47
+ endif ()
48
+ if (TS_LLVM_LINK_TOOL )
49
+ message (STATUS "Use llvm-link from TSAR package." )
50
+ endif ()
42
51
endif ()
43
52
if (TSAR_EXECUTABLE )
44
53
set (TC_SUFFIX "" )
@@ -72,10 +81,14 @@ if (TSAR_FOUND)
72
81
if (TS_CLANG_TOOL )
73
82
set (TS_CLANG_PATH "${TS_BINARY_DEFAULT_DIR} /${TS_CLANG_TOOL}${CMAKE_EXECUTABLE_SUFFIX} " )
74
83
endif ()
84
+ if (TS_LLVM_LINK_TOOL )
85
+ set (TS_LLVM_LINK_PATH "${TS_BINARY_DEFAULT_DIR} /${TS_LLVM_LINK_TOOL}${CMAKE_EXECUTABLE_SUFFIX} " )
86
+ endif ()
75
87
else ()
76
88
set (TS_TSAR_PATH )
77
89
set (TS_INCLUDE_PATH )
78
90
set (TS_CLANG_PATH )
91
+ set (TS_LLVM_LINK_PATH )
79
92
foreach (CONFIG_NAME ${CMAKE_CONFIGURATION_TYPES} )
80
93
string (TOUPPER ${CONFIG_NAME} C )
81
94
list (FIND TSAR_CONFIGURATIONS ${C} TSAR_ENABLE_${C} )
@@ -92,6 +105,9 @@ if (TSAR_FOUND)
92
105
if (TS_CLANG_TOOL )
93
106
set (TS_CLANG_PATH "${TS_CLANG_PATH} $<$<CONFIG:${C} >:${TSAR_BINARY_DIR_${C} }/${TS_CLANG_TOOL}${CMAKE_EXECUTABLE_SUFFIX} >" )
94
107
endif ()
108
+ if (TS_LLVM_LINK_TOOL )
109
+ set (TS_LLVM_LINK_PATH "${TS_LLVM_LINK_PATH} $<$<CONFIG:${C} >:${TSAR_BINARY_DIR_${C} }/${TS_LLVM_LINK_TOOL}${CMAKE_EXECUTABLE_SUFFIX} >" )
110
+ endif ()
95
111
set (TS_LIBRARY_PATH "'$<SHELL_PATH:${TSAR_BINARY_DIR_${C} }/../lib>'" )
96
112
file (GLOB TS_OMP_LIBRARIES LIST_DIRECTORIES false
97
113
RELATIVE ${TS_LIBRARY_PATH} ${TS_LIBRARY_PATH} /*omp.* )
@@ -104,34 +120,56 @@ if (TSAR_FOUND)
104
120
if (TS_CLANG_TOOL )
105
121
set (TS_CLANG_PATH "$<SHELL_PATH:${TS_CLANG_PATH} >" )
106
122
endif ()
123
+ if (TS_LLVM_LINK_TOOL )
124
+ set (TS_LLVM_LINK_PATH "$<SHELL_PATH:${TS_LLVM_LINK_PATH} >" )
125
+ endif ()
107
126
endif ()
108
127
109
- if (NOT TS_CLANG_PATH )
128
+ if (NOT TS_CLANG_PATH OR NOT TS_LLVM_LINK_PATH )
110
129
find_package (LLVM ${TSAR_LLVM_VERSION} )
111
130
if (LLVM_FOUND )
112
131
set (TS_LIBRARY_PATH "${TS_LIBRARY_PATH} '$<SHELL_PATH:${LLVM_BINARY_DIR} /lib>'" )
113
132
file (GLOB TS_OMP_LIBRARIES LIST_DIRECTORIES false
114
133
RELATIVE ${LLVM_BINARY_DIR} /lib ${LLVM_BINARY_DIR} /lib/*omp.* )
115
134
message (STATUS "LLVM version: ${LLVM_VERSION} " )
116
- message ( STATUS "Lookup for Clang in ${LLVM_BINARY_DIR} /lib/cmake/clang" )
117
- find_package ( Clang HINTS " ${LLVM_BINARY_DIR} /lib/cmake/clang" NO_DEFAULT_PATH )
118
- if ( TARGET clang )
119
- get_property ( CLANG_CONFIGURATIONS TARGET clang PROPERTY IMPORTED_CONFIGURATIONS )
120
- if ( CLANG_CONFIGURATIONS )
121
- list ( GET CLANG_CONFIGURATIONS 0 CLANG_CONFIG )
122
- get_property ( TS_CLANG_PATH TARGET clang PROPERTY IMPORTED_LOCATION_${CLANG_CONFIG} )
123
- message ( STATUS "Find Clang configuration: ${CLANG_CONFIG} " )
124
- else ( )
125
- get_property ( TS_CLANG_PATH TARGET clang PROPERTY IMPORTED_LOCATION )
135
+ if ( NOT TS_LLVM_LINK_PATH )
136
+ if ( TARGET llvm-link )
137
+ get_property ( LLVM_LINK_CONFIGURATIONS TARGET llvm-link PROPERTY IMPORTED_CONFIGURATIONS )
138
+ if ( LLVM_LINK_CONFIGURATIONS )
139
+ list ( GET LLVM_LINK_CONFIGURATIONS 0 LLVM_LINK_CONFIG )
140
+ get_property ( TS_LLVM_LINK_PATH TARGET llvm-link PROPERTY IMPORTED_LOCATION_${LLVM_LINK_CONFIG} )
141
+ message ( STATUS "Find llvm-link configuration: ${LLVM_LINK_CONFIG} " )
142
+ else ( )
143
+ get_property ( TS_LLVM_LINK_PATH TARGET llvm-link PROPERTY IMPORTED_LOCATION )
144
+ endif ( )
126
145
endif ()
127
- if (TSAR_LLVM_VERSION )
128
- set (TS_INCLUDE_PATH "${TS_INCLUDE_PATH} '$<SHELL_PATH:${LLVM_BINARY_DIR} /lib/clang/${TSAR_LLVM_VERSION} /include>'" )
146
+ if (NOT TS_LLVM_LINK_PATH )
147
+ message (WARNING "Could NOT find suitable llvm-link executable, be sure it is installed." )
148
+ else ()
149
+ message (STATUS "llvm-link executable: ${TS_LLVM_LINK_PATH} " )
129
150
endif ()
130
151
endif ()
131
152
if (NOT TS_CLANG_PATH )
132
- message (WARNING "Could NOT find suitable Clang executable, be sure it is installed." )
133
- else ()
134
- message (STATUS "Clang executable: ${TS_CLANG_PATH} " )
153
+ message (STATUS "Lookup for Clang in ${LLVM_BINARY_DIR} /lib/cmake/clang" )
154
+ find_package (Clang HINTS "${LLVM_BINARY_DIR} /lib/cmake/clang" NO_DEFAULT_PATH )
155
+ if (TARGET clang )
156
+ get_property (CLANG_CONFIGURATIONS TARGET clang PROPERTY IMPORTED_CONFIGURATIONS )
157
+ if (CLANG_CONFIGURATIONS )
158
+ list (GET CLANG_CONFIGURATIONS 0 CLANG_CONFIG )
159
+ get_property (TS_CLANG_PATH TARGET clang PROPERTY IMPORTED_LOCATION_${CLANG_CONFIG} )
160
+ message (STATUS "Find Clang configuration: ${CLANG_CONFIG} " )
161
+ else ()
162
+ get_property (TS_CLANG_PATH TARGET clang PROPERTY IMPORTED_LOCATION )
163
+ endif ()
164
+ if (TSAR_LLVM_VERSION )
165
+ set (TS_INCLUDE_PATH "${TS_INCLUDE_PATH} '$<SHELL_PATH:${LLVM_BINARY_DIR} /lib/clang/${TSAR_LLVM_VERSION} /include>'" )
166
+ endif ()
167
+ endif ()
168
+ if (NOT TS_CLANG_PATH )
169
+ message (WARNING "Could NOT find suitable Clang executable, be sure it is installed." )
170
+ else ()
171
+ message (STATUS "Clang executable: ${TS_CLANG_PATH} " )
172
+ endif ()
135
173
endif ()
136
174
endif ()
137
175
endif ()
@@ -179,6 +217,7 @@ endmacro()
179
217
180
218
quote_path (TS_TSAR_PATH )
181
219
quote_path (TS_CLANG_PATH )
220
+ quote_path (TS_LLVM_LINK_PATH )
182
221
quote_path (TS_DVM_PATH )
183
222
184
223
configure_file (sys/config.in sys/config.gen @ONLY )
0 commit comments