-
Notifications
You must be signed in to change notification settings - Fork 25
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
How do I use libyal in combination with vcpkg ports? #97
Comments
Unfortunately this is not how the libraries are intended to be used. |
It's supported on linux/mingw though, using the |
so |
vcpkg can contain ports of libraries containing bundled libraries as long as you can override the dependency and use your own version of that bundled library - there are many such cases. In the PR I linked you could see I ported libcerror (dependency of libcdatetime) and then use the vcpkg port of libcerror instead of the bundled libcerror library that comes with libcdatetime. |
You are conflating Windows with msvscpp. MinGW and CygWin also run on Windows
Then vcpkg must have some mechanism similar to configure (autotools) to set up the (msvscpp) build files? |
MinGW and CygWin are already supported within the vcpkg port, it's the specifically the msbuild part. |
And what mechanism does vcpkg provide? you likely need to change https://github.com/libyal/vstools so that it can leverage this mechanism To my knowledge msbuild has limited support for build configurations compared to autotools. E.g. how do you test if you have the right version of the library as dependency? |
The mechanism is simply calling msbuild, passing options etc... (I linked the reference above). |
autotools does more, it checks the version of the dependency and sees if the necessary functions are available. It sets up the build configuration. The functionality of msbuild sounds comparable to make, there is more to the build process. msvscpp supports advanced configuration, not sure how portable this is for msbuild. You might need to make changes how it generates the visual studio project files. |
No additional replies from original reporter, assuming question was answered. Closing |
Hey, I'm attempting to port a large number of libyal libraries to the package manager vcpkg.
Libraries ports in vcpkg cannot contain bundled libraries not ported by vcpkg as those can create collisions.
This means for every libyal library I want to port I need to port all of it's dependencies (libcerror, libclocale, etc...) this is fine and works perfectly fine in Linux where you can supply the
--with-libcerror=yes
flag, but there is no such alternative for Windows.I implemented a vcpkg wrapper for the msvcpp-convert utility, and use it to build on Windows - mirroring the upstream way to build for Windows.
You can take a look at my libcdatetime VCPKG port PR to see an example.
Currently as it stands, the library fails building on Windows because the bundled libcerror that comes with libcdatetime conflicts with the existing libcerror port.
Would love your help in getting this working, porting libyal to vcpkg would make it more accessible and allow porting other libraries that use libyal.
Thanks!
The text was updated successfully, but these errors were encountered: