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

Do not install dirent.h on Windows to avoid conflicts #716

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

traversaro
Copy link
Contributor

@traversaro traversaro commented May 17, 2021

dirent.h is not used in public headers of Simbody, so we can avoid to install it as it can create conflicts with other installation of dirent.h from https://github.com/tronkko/dirent .

See for the downstream issue: conda-forge/simbody-feedstock#39 .


This change is Reviewable

@traversaro
Copy link
Contributor Author

The Travis CI failures seems not to be related with the content of this PR.

@chrisdembia
Copy link
Member

Does this PR potentially remove other headers that Simbody depends on?

In general, Simbody, on Windows, is installed into its own directory, not in system directories. I don't feel too strongly one way or the other, so I'll defer to @sherm1, but perhaps having the patch for conda is the right move. We could also potentially add a CMake option to control this behavior.

Another test would be to build a project that is downstream of Simbody, using the Simbody installation.

@traversaro
Copy link
Contributor Author

traversaro commented May 21, 2021

Does this PR potentially remove other headers that Simbody depends on?

No, the only include in any platform dir is dirent.h : https://github.com/simbody/simbody/tree/master/Platform/Windows/include and dirent is not used in any

but perhaps having the patch for conda is the right move

Sure, I opened the PR for visibility and it could be useful for other package managers users on Windows (vcpkg, conan, spack). However if you prefer that we just have the patch on Conda, this is not a problem.

Another test would be to build a project that is downstream of Simbody, using the Simbody installation.

I may be wrong, but couldn't just inspect downstream projects for any use of dirent.h via code search?

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

Successfully merging this pull request may close these issues.

None yet

2 participants