Open3D icon indicating copy to clipboard operation
Open3D copied to clipboard

Switched QHull and GoogleTest to use FetchContent

Open dbs4261 opened this issue 6 months ago • 1 comments

Changed the CMake scripts for 3rdparty dependencies to not mark files in the Open3D git repo as generated. This is because the clean target would delete them and break the build.

  • [x] Bug fix (non-breaking change which fixes an issue): Fixes #6644
  • [ ] New feature (non-breaking change which adds functionality). Resolves #
  • [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected) Resolves #

Motivation and Context

When running the clean target on some generators, source files not fetched by ExternalProject would be deleted. This would prevent rebuilding without using git to reset those files. See issue #6644 for details.

Checklist:

  • [ ] I have run python util/check_style.py --apply to apply Open3D code style to my code.
  • [ ] This PR changes Open3D behavior or adds new functionality.
    • [ ] Both C++ (Doxygen) and Python (Sphinx / Google style) documentation is updated accordingly.
    • [ ] I have added or updated C++ and / or Python unit tests OR included test results (e.g. screenshots or numbers) here.
  • [x] I will follow up and update the code if CI fails.
  • [x] For fork PRs, I have selected Allow edits from maintainers.

Description

Switched GoogleTest and QHull dependencies to use FetchContent instead of ExternalProject. Removed GENERATED property from source files passed to open3d_build_3rdparty_library.

dbs4261 avatar Feb 09 '24 20:02 dbs4261

Thanks for submitting this pull request! The maintainers of this repository would appreciate if you could update the CHANGELOG.md based on your changes.

update-docs[bot] avatar Feb 09 '24 20:02 update-docs[bot]

Hi @dbs4261 please check the CI errors. Removing GENERATED property causes CMake to fail with some file not found errors for 3rd party C++ sources.

ssheorey avatar Mar 07 '24 22:03 ssheorey

@ssheorey How can I run the CI pipeline locally to verify my fix?

dbs4261 avatar Mar 19 '24 17:03 dbs4261

This PR doesn't depend on the platform. It should be sufficient if Open3D builds for you on your machine. Try building the library (make libopen3d), python package (make pip-package) and the tests (make tests) and running the tests on your machine.

Make sure the build succeeds from an empty build folder.

ssheorey avatar Mar 19 '24 17:03 ssheorey

Hmmm, Looks like the ubuntu-wheel build is failing because c-cache is out of space? Not sure what to do about that.

dbs4261 avatar Mar 22 '24 20:03 dbs4261

Hmmm, Looks like the ubuntu-wheel build is failing because c-cache is out of space? Not sure what to do about that.

Fixing that in a separate PR. You can ignore that for this PR.

ssheorey avatar Mar 24 '24 21:03 ssheorey