Skip to content

[FEATURE] Improve build to pull transient source dependencies #2421

Open
@sam-herman

Description

@sam-herman

Is your feature request related to a problem?
The build at the moment has a number of limitations that reduce it's portability:

  1. Manual installation of dependencies on local machine is required
  2. Source code is referring to a specific commit for FAISS and NMSLIB and can't be changed or updated for different platforms. For example the following will break for MacOS but will pass for other OS however newer versions will work for MacOS but might break on older version of linux

This suggestion will suggest to switch to a number of best practices when depending on source code that will increase portability and automation of the build across platform.

What solution would you like?
We need to leverage cmake fetch content in order to avoid including source code from other repos in our build. this is also easier to automate by checking the platform architecture and OS during build time.
For example:

FetchContent_Declare(
  faiss
  URL     https://github.com/facebookresearch/faiss.git
  GIT_TAG d243e628880676332263347817b3fe7f474b8b5b # v1.9.0
)

What alternatives have you considered?
NA

Metadata

Metadata

Assignees

Labels

InfrastructureChanges to infrastructure, testing, CI/CD, pipelines, etc.enhancement

Type

No type

Projects

Status

Backlog (Hot)

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions