@@ -21,6 +21,8 @@ endif ()
21
21
22
22
project (libuavcan)
23
23
24
+ find_program (PYTHON python)
25
+
24
26
if ("${CMAKE_CXX_COMPILER_ID} " STREQUAL "GNU" OR "${CMAKE_CXX_COMPILER_ID} " STREQUAL "Clang" )
25
27
set (COMPILER_IS_GCC_COMPATIBLE 1)
26
28
else ()
@@ -31,7 +33,7 @@ endif ()
31
33
# DSDL compiler invocation
32
34
# Probably output files should be saved into CMake output dir?
33
35
#
34
- execute_process (COMMAND ./ setup.py build WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /dsdl_compiler OUTPUT_QUIET )
36
+ execute_process (COMMAND ${PYTHON} setup.py build WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /dsdl_compiler OUTPUT_QUIET )
35
37
set (DSDLC_INPUTS "test/dsdl_test/root_ns_a" "test/dsdl_test/root_ns_b" "${CMAKE_CURRENT_SOURCE_DIR} /../dsdl/uavcan" )
36
38
set (DSDLC_OUTPUT "include/dsdlc_generated" )
37
39
@@ -41,7 +43,7 @@ foreach(DSDLC_INPUT ${DSDLC_INPUTS})
41
43
set (DSDLC_INPUT_FILES ${DSDLC_INPUT_FILES} ${DSDLC_NEW_INPUT_FILES} )
42
44
endforeach (DSDLC_INPUT)
43
45
add_custom_command (OUTPUT ${CMAKE_BINARY_DIR} /libuavcan_dsdlc_run.stamp
44
- COMMAND ${CMAKE_CURRENT_SOURCE_DIR} /dsdl_compiler/libuavcan_dsdlc ${DSDLC_INPUTS} -O${DSDLC_OUTPUT}
46
+ COMMAND ${PYTHON} ${ CMAKE_CURRENT_SOURCE_DIR} /dsdl_compiler/libuavcan_dsdlc ${DSDLC_INPUTS} -O${DSDLC_OUTPUT}
45
47
COMMAND ${CMAKE_COMMAND} -E touch ${CMAKE_BINARY_DIR} /libuavcan_dsdlc_run.stamp
46
48
DEPENDS ${DSDLC_INPUT_FILES}
47
49
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
@@ -79,7 +81,7 @@ add_dependencies(uavcan libuavcan_dsdlc)
79
81
install (TARGETS uavcan DESTINATION lib)
80
82
install (DIRECTORY include /uavcan DESTINATION include )
81
83
install (DIRECTORY include /dsdlc_generated/uavcan DESTINATION include ) # Generated and lib's .hpp
82
- install (CODE "execute_process(COMMAND ./ setup.py install --record installed_files.log
84
+ install (CODE "execute_process(COMMAND ${PYTHON} setup.py install --record installed_files.log
83
85
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} /dsdl_compiler)" )
84
86
85
87
#
0 commit comments