Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Making the third-party Solvers more accessible #375

Open
mxgrey opened this issue Apr 19, 2015 · 1 comment
Open

Making the third-party Solvers more accessible #375

mxgrey opened this issue Apr 19, 2015 · 1 comment

Comments

@mxgrey
Copy link
Member

mxgrey commented Apr 19, 2015

I don't think it's particularly good practice for features to be hidden away in source code (i.e. you need to compile from source in order to have access to the Solvers that depend on third-party libraries). But it is also undesirable to make the third-party libraries into mandatory dependencies. I can think of two options that would get around this:

(1) Put each third-party extension for Solver into its own library, and manage them independently in the package managers. The only drawback here would be setting up the package managers.

(2) Use dynamic library loading, and a factory for producing Solvers. If the library that's needed by the requested Solver type isn't available on the computer, then the factory can return a nullptr and an error message. The drawback here would be implementing the dynamic loading (and I have no idea how difficult it would be, because I've never done it before).

I would be much more inclined towards option (1) than option (2), because I think it would be the most straightforward approach.

@stale
Copy link

stale bot commented Feb 13, 2018

This issue has been automatically marked as stale because it has not had recent activity. It will be closed in 7 days if no further activity occurs. Thank you for your contributions.

@stale stale bot added the stale label Feb 13, 2018
@stale stale bot removed the stale label Feb 13, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants