Skip to content

Commit b2b2053

Browse files
authored
Merge pull request #1824 from certik/it
Make integration_tests working with any lpython
2 parents 3665bcf + 7f071c5 commit b2b2053

File tree

1 file changed

+26
-14
lines changed

1 file changed

+26
-14
lines changed

integration_tests/CMakeLists.txt

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -14,10 +14,21 @@ endif ()
1414

1515
set(KIND no CACHE STRING "Type of Test")
1616

17+
find_program(LPYTHON NAMES lpython)
18+
19+
execute_process(COMMAND ${LPYTHON} --get-rtl-header-dir
20+
OUTPUT_VARIABLE LPYTHON_RTL_HEADER_DIR
21+
OUTPUT_STRIP_TRAILING_WHITESPACE
22+
)
23+
execute_process(COMMAND ${LPYTHON} --get-rtl-dir
24+
OUTPUT_VARIABLE LPYTHON_RTL_DIR
25+
OUTPUT_STRIP_TRAILING_WHITESPACE
26+
)
27+
1728
find_path(LPYTHON_RTLIB_DIR lfortran_intrinsics.h
18-
${CMAKE_SOURCE_DIR}/../src/libasr/runtime)
29+
HINTS ${LPYTHON_RTL_HEADER_DIR})
1930
find_library(LPYTHON_RTLIB_LIBRARY lpython_runtime_static
20-
${CMAKE_SOURCE_DIR}/../src/runtime/)
31+
HINTS ${LPYTHON_RTL_DIR})
2132
add_library(lpython_rtlib INTERFACE IMPORTED)
2233
set_property(TARGET lpython_rtlib PROPERTY INTERFACE_INCLUDE_DIRECTORIES
2334
${LPYTHON_RTLIB_DIR})
@@ -39,6 +50,7 @@ else ()
3950
endif ()
4051
message("Installation prefix: ${CMAKE_INSTALL_PREFIX}")
4152
message("KIND: ${KIND}")
53+
message("LPYTHON: ${LPYTHON}")
4254
message("LPYTHON_RTLIB_DIR: ${LPYTHON_RTLIB_DIR}")
4355
message("LPYTHON_RTLIB_LIBRARY: ${LPYTHON_RTLIB_LIBRARY}")
4456

@@ -61,13 +73,13 @@ macro(RUN)
6173
if (import_path)
6274
add_custom_command(
6375
OUTPUT ${name}.o
64-
COMMAND lpython -c -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
76+
COMMAND ${LPYTHON} -c -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
6577
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
6678
VERBATIM)
6779
else ()
6880
add_custom_command(
6981
OUTPUT ${name}.o
70-
COMMAND lpython -c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
82+
COMMAND ${LPYTHON} -c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
7183
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
7284
VERBATIM)
7385
endif()
@@ -85,13 +97,13 @@ macro(RUN)
8597
if (import_path)
8698
add_custom_command(
8799
OUTPUT ${name}.c
88-
COMMAND lpython -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
100+
COMMAND ${LPYTHON} -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
89101
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
90102
VERBATIM)
91103
else ()
92104
add_custom_command(
93105
OUTPUT ${name}.c
94-
COMMAND lpython --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
106+
COMMAND ${LPYTHON} --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
95107
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
96108
VERBATIM)
97109
endif()
@@ -130,7 +142,7 @@ macro(RUN)
130142
# x86 test
131143
add_custom_command(
132144
OUTPUT ${name}.x86
133-
COMMAND lpython --backend x86 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.x86
145+
COMMAND ${LPYTHON} --backend x86 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.x86
134146
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
135147
VERBATIM
136148
)
@@ -147,7 +159,7 @@ macro(RUN)
147159
# wasm_to_x86 test
148160
add_custom_command(
149161
OUTPUT ${name}.x86
150-
COMMAND lpython --backend wasm_x86 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.x86
162+
COMMAND ${LPYTHON} --backend wasm_x86 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.x86
151163
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
152164
VERBATIM
153165
)
@@ -164,7 +176,7 @@ macro(RUN)
164176
# wasm_to_x64 test
165177
add_custom_command(
166178
OUTPUT ${name}.x64
167-
COMMAND lpython --backend wasm_x64 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.x64
179+
COMMAND ${LPYTHON} --backend wasm_x64 ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.x64
168180
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
169181
VERBATIM
170182
)
@@ -179,7 +191,7 @@ macro(RUN)
179191
endif()
180192
elseif(KIND STREQUAL "wasm")
181193
# wasm test
182-
execute_process(COMMAND lpython --backend wasm ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name})
194+
execute_process(COMMAND ${LPYTHON} --backend wasm ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name})
183195

184196
find_program(WASM_EXEC_RUNTIME node)
185197
execute_process(COMMAND "${WASM_EXEC_RUNTIME}" --version
@@ -224,13 +236,13 @@ macro(COMPILE)
224236
if (import_path)
225237
add_custom_command(
226238
OUTPUT ${name}.o
227-
COMMAND lpython --disable-main -c -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
239+
COMMAND ${LPYTHON} --disable-main -c -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
228240
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
229241
VERBATIM)
230242
else ()
231243
add_custom_command(
232244
OUTPUT ${name}.o
233-
COMMAND lpython --disable-main -c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
245+
COMMAND ${LPYTHON} --disable-main -c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py -o ${name}.o
234246
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
235247
VERBATIM)
236248
endif()
@@ -240,13 +252,13 @@ macro(COMPILE)
240252
if (import_path)
241253
add_custom_command(
242254
OUTPUT ${name}.c
243-
COMMAND lpython --disable-main -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
255+
COMMAND ${LPYTHON} --disable-main -I ${CMAKE_CURRENT_SOURCE_DIR}/${import_path} --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
244256
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
245257
VERBATIM)
246258
else ()
247259
add_custom_command(
248260
OUTPUT ${name}.c
249-
COMMAND lpython --disable-main --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
261+
COMMAND ${LPYTHON} --disable-main --show-c ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py > ${name}.c
250262
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${name}.py
251263
VERBATIM)
252264
endif()

0 commit comments

Comments
 (0)