-
Notifications
You must be signed in to change notification settings - Fork 313
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
Windows dependencies build #1197
base: main
Are you sure you want to change the base?
Conversation
New flow for mingw builds on windows operating system is implemented by installing the nedeed dependencies and build libiio with the bash from msys2 that supports also mingw64. The dependencies will be installed with pacman. Signed-off-by: Andreea Andrisan <[email protected]>
With the new script added we can build libiio via msys2 bash using also dependencis installed with pacman. By removing the old dll files that were downloaded from an archive the paths to the dependencies needed to be modified and now they are copied from the mingw64 folder. Signed-off-by: Andreea Andrisan <[email protected]>
This script will clone and download different dependencies of the libiio in order to build them with the msvc compiler. Using msbuild that is the visual studio program designed for terminal builds of visual studio projects. Signed-off-by: Andreea Andrisan <[email protected]>
Switch to new script and modify the paths form cmake command and also the path from where the dll files were copied. The old script build_win.ps1 was renamed in build_win_msvc.ps1 because now it supports just the msvc compiler, eliminating the support for mingw because was not needed anymore. Signed-off-by: Andreea Andrisan <[email protected]>
After new libraries build the nameing of some files was changed and also the file was not updated with the lates changes. Signed-off-by: Andreea Andrisan <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
in general - this looks great. Thanks
I think you need to distribute the source of the dependencies to be license complainant. (not just the dlls). Although - I don't see the point in doing this in a giant tar - just in the source tar, the dependencies should be there as well.
plus - don't forget to fix the Codacy issue pointed out.
-Robin
FOR /F "USEBACKQ TOKENS=*" %%F IN (`%vswhere% !vswhere_params! -requires Microsoft.Component.MSBuild -find MSBuild\**\Bin\MSBuild.exe`) DO ( | ||
SET msbuild="%%F" | ||
) | ||
:: clone the zstd repo and build it with the desierd configuration |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
desierd
should be desired? (spelling)
cmake --build libxml2-build --config Release --target install | ||
|
||
:: clone and build libserialport project | ||
git clone https://github.com/sigrokproject/libserialport.git |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for other repos - you are getting specific versions. for libserialport - you are grabbing tip of master - is that what you want to do? (I'm not sure there is a better idea, since the newest release is so old)...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Another idea would be to specifically git checkout a commit from the master branch, in case other commits will be added in which case that might brake things for us. (if this is not ok, I will leave it as it is)
In the source tar should be included just the source code of the built dependencies? |
Yes and build scripts used so others can repeat. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Besides the package for dependency source+build scripts this looks good
PR Description
In the old flow the needed dependencies were downloaded from a zip, and for msvc and mingw compiler were used the same files.
Now each compiler has its own specific dependencies.
Artifact manifest was updated and also publish deps script with the corresponding paths of the new files.
This PR is related to #1183
PR Type
PR Checklist