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

Improve MSVC support #584

Open
2 of 3 tasks
G4Vi opened this issue Nov 15, 2023 · 5 comments
Open
2 of 3 tasks

Improve MSVC support #584

G4Vi opened this issue Nov 15, 2023 · 5 comments
Assignees

Comments

@G4Vi
Copy link
Contributor

G4Vi commented Nov 15, 2023

The MSVC releases do not include an import library (.lib) for extism.dll, only the static library .lib. The import library makes it possible to "link" to a DLL at build time instead of needing to LoadLibrary and GetProcAddress to use extism functions.

The libextism cmake file hasn't been tested on MSVC and probably should specify the needed dependencies to link the static version.

Related to #141

@mhmd-azeez
Copy link
Collaborator

mhmd-azeez commented Dec 13, 2023

add import .lib to releases

This will be handled by #633

@mhmd-azeez
Copy link
Collaborator

@G4Vi

test and fix libextism cmake file with msvc

is this still relevant?

@G4Vi
Copy link
Contributor Author

G4Vi commented Dec 13, 2023

@mhmd-azeez

That is still relevant. However, another item to consider is vcpkg support. vcpkg support should enable users to build a project using libextism on all systems with the same cmake file.

There are two goals I'd like to accomplish:

  1. Have a familiar / standard development experience using libextism on Windows (easy to use with visual studio c++)
  2. Support cross-platform projects, use same repo and project files with minimal duplication, to build a project using libextism for Windows, Mac, Linux. (cmake packages, also cmake in-tree builds)

Goal 1 is more important than goal 2, but both are important. I trust your judgement on what next to proceed on.

I have revised this ticket with items I believe related to goals 1 and 2. Please let me know if you think we should go in a different direction to accomplish those goals.

Info on vcpkg:

mhmd-azeez added a commit that referenced this issue Dec 13, 2023
@mhmd-azeez
Copy link
Collaborator

Seems like vcpkg doesn't support rust libraries yet, and I couldn't find a workaround:

But, there is some hope:
microsoft/vcpkg#30251 (comment)

We can revisit it later on after Rust support is added

@G4Vi
Copy link
Contributor Author

G4Vi commented Dec 18, 2023

Thanks for looking into vcpkg. Definitely something to watch, but it sounds like it doesn't have the functionality we need yet.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Todo
Development

No branches or pull requests

2 participants