samdauwe / BabylonCpp

A port of Babylon.js to C++
Apache License 2.0
284 stars 37 forks source link

Xcode OSX build BabylonStudio and BabylonStandAlone failed at type_traits #84

Closed imbrig closed 4 years ago

imbrig commented 4 years ago

I have configured using cmake 3.17.0 using both bash and the UI app, following the steps in the README.md. An Xcode project is generated without any issue but compiling BabylonStudio and BabylonStandAlone will produce the following errors.

At type_traits (in Toolchains) Incomplete type 'BABYLON::SolidParticleVertex' used in type trait expression At variant (in Toolchains) Constexpr variable '__destructible_trait' must be initialized by a constant expression Non-type template argument is not a constant expression

I've configure a Visual Studio solution using the cmake_build.py script and was able to build and run without any issues. The page with the README.md says that Windows is Failing while Linux / OSX is Passing. This might be switched by mistake or there could be more that I need to do for getting the project building in Xcode. From what I tested on Windows, BabylonStudio is a very impressive application / tool. Thanks for the help.

samdauwe commented 4 years ago

Hi imbrig,

Thanks for trying out this project and the nice feedback!

I don't own a OSX system so I rely on the automatic Travis CI for checking if the build succeeds or not. At this moment the Xcode version used is 'Xcode 10.2.1' (macOS version 10.14). What version of Xcode are you using? I can add an additional target for this version and have look into resolving the issue.

Unfortunately, the Windows builds have a limit of 1 hour on Appveyor, often the build fail due to this time restriction. Multi-processing builds are enabled but it is still a lot slower compared to compiling it locally. Pre-building one of the dependencies could already reduce some of the build time. On my Windows system the build is also succeeding.

Best regards, Sam

imbrig commented 4 years ago

Sam, thanks for the quick reply. I'm on Xcode Version 11.6 (11E708). Unfortunately I'm unable to go back to Xcode 10 after updating to Xcode 11 due to other project requirements with iOS13, but if it comes to it I can install Xcode 10.2.1. Make sense about the time limit.

**Edit I just notice your new commit for Xcode 12. I'm going to try it later, might resolve the issue, and I'll report back.

imbrig commented 4 years ago

@samdauwe Just tested it and it build in Xcode without issues. The BabylonStandalone worked just like in Windows, however I did notice that the samples in the BabylonStudio project are mostly in under Experimental and Unknown but they work. Not a big deal just fyi. Thanks for putting out a fix so quickly.

samdauwe commented 4 years ago

@imbrig

Thanks for confirming that the fixes resolved the compilation issues you reported! I added a Xcode target for the most recent version and got the same error you reported. Luckily the fix was not much effort.

Strange that the BabylonStudio project samples are mostly under Experimental and Unknown, I will have a look at the issue.

If you see other issues feel free to let me know.

Best regards, Sam