@@ -14,10 +14,21 @@ endif ()
1414
1515set (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+
1728find_path (LPYTHON_RTLIB_DIR lfortran_intrinsics.h
18- ${CMAKE_SOURCE_DIR} /../src/libasr/runtime )
29+ HINTS ${LPYTHON_RTL_HEADER_DIR} )
1930find_library (LPYTHON_RTLIB_LIBRARY lpython_runtime_static
20- ${CMAKE_SOURCE_DIR} /../src/runtime/ )
31+ HINTS ${LPYTHON_RTL_DIR} )
2132add_library (lpython_rtlib INTERFACE IMPORTED )
2233set_property (TARGET lpython_rtlib PROPERTY INTERFACE_INCLUDE_DIRECTORIES
2334 ${LPYTHON_RTLIB_DIR} )
@@ -39,6 +50,7 @@ else ()
3950endif ()
4051message ("Installation prefix: ${CMAKE_INSTALL_PREFIX} " )
4152message ("KIND: ${KIND} " )
53+ message ("LPYTHON: ${LPYTHON} " )
4254message ("LPYTHON_RTLIB_DIR: ${LPYTHON_RTLIB_DIR} " )
4355message ("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