V2.7.2mod: dynamic loading for HSL#771
Conversation
|
Hi Joris, @amontoison could you have a look when you have a moment? |
|
Thanks @jgillis for the modifications and working on an interface for CasADi! A few comments:
|
|
The CMake variable |
| } | ||
|
|
||
| template <typename FunctionPointer> | ||
| void resolve(LibraryHandle handle, FunctionPointer& function_pointer, const std::string& base) { |
| for (char& c: upper) { c = static_cast<char>(std::toupper(static_cast<unsigned char>(c))); } | ||
| const std::string candidates[] = {base, base + "_", lower + "_", lower, upper + "_", upper}; | ||
| for (const std::string& candidate: candidates) { | ||
| if (void* symbol = raw_symbol(handle, candidate.c_str())) { |
|
|
||
| std::string name = library_name; | ||
| if (name.empty()) { | ||
| if (const char* env = std::getenv("UNO_HSL_LIBRARY")) { |
|
Hi @jgillis, I've added a few comments (which I'm happy to address in a subsequent PR). The main change would be to link METIS via |
As in ipopt, picks up libhsl.so/dll/dylib Observes hsllib option
|
@amontoison good for you too? |
Hi Charlie!
Finally found some time to get Uno into casadi..
I did some minor modifications to get it more in line with expected behavior from ipopt.
I'm happy to just roll with casadi-patches against your official releases, but you may also chose to merge some of this.