-
Notifications
You must be signed in to change notification settings - Fork 1.9k
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
Pre-built binaries for Windows #12
Comments
Yes, we'll provide Windows binaries. Did you run into compilation failures with clang or msvc? We only support building with clang on Windows at the moment. |
I've used the following build commands, and the compiler identification reads as Clang 6.0, so it seems to be using Clang. I had to pass
The initial output of CMake:
Python is certainly outdated compared to what the build instructions ask for, but I have not seen how it is actually used during the build. On my own machine, I've used a more recent Python, but ran into the same issues. Full log is accessible here: https://ci.appveyor.com/project/shartte/filament But it seems to primarily relate to:
|
@shartte I'm not quite sure how your AppVeyor is configured, but it's important that all the build commands be run in a "x86_64 cross tools command prompt". This ensures the correct environment variables are set for Windows builds. Since you're running the build through CI, you'll probably need to add a a call to |
Python is actually not necessary since we don't rely on the repo tool anymore. I'll update the README. |
@bejado I added an explicit call to vcvarsall to the build, but it didn't change the results.
As before, the build log can be found here: https://ci.appveyor.com/project/shartte/filament On a related note: Why does the documentation insist on using the cross-compilation toolset? According to MSDN, the native 64-bit compiler produces the same code as the 32-bit->64-bit cross-compiler. Is there any specific reason? |
I believe the issue you're seeing is the correct exception flag (/EHsc) not being passed to the compiler. I worry that by setting Alternatively, I've been experimenting with using only Ninja and Clang to build, eliminating the need for MSVC (and the C++98 warnings). You still need the
And you're right, if the machine you're using to build is 64 bit, you should be able to just call |
We should just assume the build machine is 64 bit. Not sure why we didn't assume that to begin with. |
And by the way, you should delete the build directory and start afresh, otherwise CMakeCache.txt seems to cache compiler flags- not sure if AppVeyor does this or not. |
I was able to successfully build locally with VS2017 + Clang6 + Ninja. After looking at what's causing the C++98 warnings: Apparently CMake seems to translate the -Wall setting to /Wall for clang-cl, which according to the clang docs actually means something else:
|
Glad you were able to build, and thanks for the investigation into the -Wall setting. |
@bejado I've opened an upstream PR with spirv-tools to fix the -Wall issue in their project file: I'll look into opening one for filament itself to fix the -Wall in filament/CMakeLists.txt |
Will pre-built binaries for Windows be released as well? Currently the release page has binaries for the *nix based platforms, but not for Windows.
I've tried building filament on both my machine and Appveyor, but failed miserably (mostly due to issues with -fno-exception, apparently). Should I open an issue regarding those failures, or rather wait for official binaries?
(Appveyor failure console output can be found here: https://ci.appveyor.com/project/shartte/filament)
The text was updated successfully, but these errors were encountered: