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

build and run on osx #290

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open

build and run on osx #290

wants to merge 4 commits into from

Conversation

andryblack
Copy link

Fix building and running issues for MacOSX.
brew dependencies: gtkmm3,opencascade,libzip,yaml-cpp,osrf/homebrew-simulation/cppzmq, podofo,boost,librsvg,glm

@carrotIndustries
Copy link
Member

Cool, to make sure that it stays that way, we'd need some sort of CI for Mac OS. Are there any free CI offerings for Mac OS?

@andryblack
Copy link
Author

Travis has Mac OS environment. I can try add configuration.

@andryblack
Copy link
Author

Added Travis CI configuration and script for building movable Mac application.

@carrotIndustries
Copy link
Member

It'd be great if you could split this up into several commits before merging this so that we can easily find out if it broke things:

@andryblack
Copy link
Author

I can do it on the weekend

@carrotIndustries
Copy link
Member

Is Horizon EDA actually usable on OS X with these patches apart from "it compiles and runs". Given the deprecation (?) of OpenGL on mac os and the required app notarisation starting with catalina, I'm to entirely sure if supporting mac os is worth it on the long run. Any comments?

@bkurtz
Copy link

bkurtz commented Feb 8, 2020

@carrotIndustries You might consider a hybrid approach where you keep the code in a format that's more-or-less compatible with macOS (e.g. the change that seems to have made it in to allow the executable to detect its location in the filesystem), and allow actual packaging/distribution to be handled by, e.g. MacPorts or Homebrew.

WRT OpenGL support in macOS, it seems like at least for the time being, they're keeping it around but just not updating it, so as long as you don't need the newest shiniest features, things should mostly be okay (I think).

I currently have a recipe for Horizon on Homebrew, which builds it successfully and it runs and does some of the basic UI stuff, but board and schematic editing are broken due to an OpenGL issue. I'm still troubleshooting the OpenGL issue, but I think it actually just boils down to that GTK does a check for a particular feature and Apple decided when doing their OpenGL implementation that as that feature is part of the GL core that they don't include it in their list of supported features, because "it's part of core now, so obviously we support it" (nevermind that Khronos Group recommends including it in the feature list anyway). I'm still working on verifying that it works if the check is disabled, but Apple's docs suggest the feature should be supported, so I'm optimistic.

The other good news would be that my current Homebrew recipe is based off of your master branch (or rather, off of your 1.0.0 tagged release), so there shouldn't be any additional changes required.

@bkurtz
Copy link

bkurtz commented Feb 9, 2020

Well, on second thought, it looks like it's going to be quite a lot of work to get this going using the version of Apple OpenGL (3.3) on my Macbook, so I'm going to give up on this for today.

@arjenroodselaar
Copy link

Hi @bkurtz, have you been able to make any progress on this? I would love to help figure out if we can make this work.

@bkurtz
Copy link

bkurtz commented Apr 22, 2020

@arjenroodselaar I was working on a build script for homebrew. Have a look at bkurtz/homebrew-core@0210adc. I can't recall for sure, but I think I got it to the point that it would build and launch, but then most of the buttons in the UI wouldn't do anything because my macbook is quite old (2011!) and apple hasn't updated the version of OpenGL on it recently enough I guess.

@schneider-engineering schneider-engineering mentioned this pull request Oct 12, 2020
4 tasks
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.

4 participants