ryein / dendro

volumetric modeling for grasshopper built on top of openvdb
Mozilla Public License 2.0
65 stars 20 forks source link

MacOS Support #13

Closed mattheath closed 3 weeks ago

mattheath commented 7 months ago

Hey there! This adds support for MacOS. I've tested this on Rhino 7 and Rhino 8, on a Mac running Sonoma on Apple Silicon.

.NET Framework 4.8 isn't supported on MacOS, but it builds and runs fine using .Net 7 — most of the changes are just wrapping the windows specific includes in conditionals.

DendroAPI can be built with cmake, and DendroGH with the dotnet CLI. I've added config files and instructions to the readme.

Unfortunately some of the files show as binary changes on github — they had UTF-16 Little Endian encoding, which isn't supported by clang on MacOS. I've converted these to UTF-8 to match the majority of the other files in the repository, but did this in a separate commit (ceac6412597122c9f33e88a39de77aef30789a24) so the remainder of the diff is clearer: ceac641...9105eb1.

ryein commented 5 months ago

this is so awesome. there will be a ton of mac users who will love you for this. sorry for the late response. i haven't been on github lately and had notifications off on this.

i looked everything over and had a couple of questions.

  1. does this need to be packaged with openvdb libraries built for mac? right now i package all the windows libraries into a 7z file so users don't have to go through that process. they link automatically in the build.
  2. does this need to be a separate branch or do you envision this being merged into the master? it looks like there are defines to navigate the two builds but wanted to make sure.
  3. i was thinking about making a post on the rhino discourse to have some people test on different systems before sending out to food4rhino. do you think that is necessary or overkill? i don't have access to macos so i wanted to make sure it was run through some testing. the mac crowd tends to send me lots of emails to make their opinions know so i want to avoid that as much as possible. haha.

again, thanks so much for putting the time in to do this. it will be warmly welcomed.

filipejsbrandao commented 4 months ago

Hello @ryein. Regarding point 3, I can test on Mac (Intel and ARM arch) if you think is necessary. The dylib files for Mac must be packaged.

3dJan commented 1 month ago

Using a package manager (see #14 ) would help with the libs on macos.