Skip to content

qibuild configure should not fail if "Host SDK dir for project XXX does not exist." #104

@sbarthelemy

Description

@sbarthelemy

currently (qibuild 3.11.6), given a qiproject like this

<project version="3">
  <qibuild name="libalmath">
    <depends buildtime="true" runtime="true" names="boost eigen3 python libqi rosbag" />
    <depends buildtime="true" names="gtest" />
    <depends host="true" names="libqilang" />
  </qibuild>
</project>

and assuming the python, libqi, rosbag and libqilang dependencies are optional (ie. not used/required by the cmake code)

qibuild configure -s

  • won't complain if the projects python, libqi, rosbag are missing from the build tree and/or the toolchains. Even if they are in the worktree.
  • will fail with message "Host SDK dir for project libqilang does not exist." if libqilang is in the worktree but not in the build tree (ie. was not configured for the host config).

This behavior is inconsistent and prevents the host dependencies to be optional.
Could we change that? The fix would be located in https://github.com/aldebaran/qibuild/blob/master/python/qibuild/cmake_builder.py#L121
I do not see a convincing point for the current behavior. It fails early, but is not very safe anyway.

In the meantime we have some workarounds:

  • patch the qiproject to remove the host dep
  • create a dedicated worktree without the host dep
  • split the project in two projects: one with the dep on libqilang, one without.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions