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

[libigl] Fix dynamic build and enable header-only mode #14376

Merged
merged 2 commits into from
Nov 12, 2020

Conversation

FabienPean
Copy link
Contributor

This is an attempt at getting rid of libigl huge static .lib file and getting the header-library mode. I could make it work on my machine (Windows VS2019 Clang 10) with the current set of modifications. Not necessarily optimal nor "clean", but hopefully a good start to resolve the issue.

Let me know if anything is missing or feel free to take over from here.

  • What does your PR fix? Fixes [libigl] Enable header-only mode #14371

  • Which triplets are supported/not supported? Have you updated the CI baseline?
    Dynamic library version works on windows but not the static, and other platform untested. I don't know what is the CI baseline.

  • Does your PR follow the maintainer guide?
    I think so.

@FabienPean FabienPean force-pushed the fix/libigl_header_only branch from b732c8b to 4c40207 Compare November 4, 2020 01:18
@LilyWangL LilyWangL self-assigned this Nov 4, 2020
@LilyWangL LilyWangL added the category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist label Nov 4, 2020
@FabienPean
Copy link
Contributor Author

Alright so, despite compiling successfully, the baseline x64-windows-static is not actually usable. It leads to /failifmismatch: mismatch detected for '_ITERATOR_DEBUG_LEVEL'. Current changes also successfully pass the CI and leads to same problem.

However my question is, should vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) be imposed and ci.baseline.txt updated to libigl:x64-windows-static=fail or stick to "if it compiles it is fine"

Otherwise, I am out of idea to make the static build actually be usable. Since it does not alter the original behavior (on x64-windows) the PR should be ok, but could be simplified if dynamic only is decided (I most probably added too many if(LIBIGL_USE_STATIC_LIBRARY) initially hoping to solve the static build issue).

Let me know your opinion on the subject

@FabienPean FabienPean marked this pull request as ready for review November 4, 2020 14:38
@FabienPean
Copy link
Contributor Author

The CI x86_windows instance is hogging.

For convenience, I made the gist with the test files here (requires building igl from head for fixes on writeDAE): https://gist.github.com/FabienPean/9c1a6c5eea6b304d0e1241024e0387b1

@LilyWangL
Copy link
Contributor

/azp run

@azure-pipelines
Copy link

Azure Pipelines successfully started running 1 pipeline(s).

@LilyWangL LilyWangL added the info:reviewed Pull Request changes follow basic guidelines label Nov 11, 2020
@strega-nil
Copy link
Contributor

Thanks @FabienPean :)

@strega-nil strega-nil merged commit 4b222f8 into microsoft:master Nov 12, 2020
Jimmy-Hu added a commit to Jimmy-Hu/vcpkg that referenced this pull request Nov 12, 2020
[libigl] Fix dynamic build and enable header-only mode (microsoft#14376)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
category:port-feature The issue is with a library, which is requesting new capabilities that didn’t exist info:reviewed Pull Request changes follow basic guidelines
Projects
None yet
Development

Successfully merging this pull request may close these issues.

[libigl] Enable header-only mode
3 participants