CMake自定义目标似乎使用sh虽然bash被明确地称为?

时间:2018-04-03 09:22:42

标签: bash cmake

我在CMake中创建一个自定义目标,需要从潜在的多个bash脚本中设置它的环境。

function(create_ros_target NAME DIR DEPENDENCIES)

    set(ament_deps "")
    foreach(dep ${DEPENDENCIES})
        get_target_property(dep_path dep BUILD_PATH)
        LIST(APPEND ament_deps ${BUILD_PATH}/install/local_setup.bash)
    endforeach(dep)

    add_custom_target(${NAME} 
    COMMAND bash -c "echo ${ament_deps} | xargs -r source ; ament build --symlink-install ${DIR}"
    )
    set_target_properties(${NAME} PROPERTIES BUILD_PATH ${CMAKE_CURRENT_BINARY_DIR})

endfunction()

我明确地调用了bash,但是我从中得到的错误消息是:

  

/ bin / sh:xargs -r source:找不到命令

我认为这意味着使用的shell是sh,据我所知,它不知道source。我该如何解决这个问题?

0 个答案:

没有答案