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

fix: Upgrade dependencies and code to work on new macOS SDK #3968

Draft
wants to merge 11 commits into
base: master
Choose a base branch
from

Conversation

queengooborg
Copy link
Contributor

@queengooborg queengooborg commented Apr 28, 2024

This PR performs a number of updates to make Bambu Studio compile on the latest macOS SDK (14.4 at the time of writing). This fixes #3957.

The particular changes made are the following:

  • Bump CGAL to v5.6.1
  • Bump Boost to v1.85.0
    • A frozen copy of Boost will no longer need to be maintained!
    • The filesystem/string_file.hpp header was deprecated and had been removed entirely in v1.83.0, so code utilizing it has been replaced
    • Various other methods were deprecated in Boost and have been removed, so they have been replaced according to Boost's suggestions
  • wxWidgets:
    • In the wxMediaCtrl2 component, there is an attempt to extend the wxMediaState enum from the original wxMediaCtrl component. The compiler is no longer allowing this, so a new enum is created and used everywhere instead.

Known Issues:

  • OCCT
    • OCCT's generated CMake files do not appear to be working, as OpenCASCADEConfig.cmake is requiring files that are not existent. Cause undetermined. Commenting out line 102 (include("${CMAKE_CURRENT_LIST_DIR}/OpenCASCADE${_comp}Targets.cmake")) seems to help.
    • OCCT's header files erroneously import local files using angle bracket syntax rather than quotes (ex. <gp_Lin2d.hxx>, not "gp_Lin2d.hxx"), and the compiler is (now) enforcing this
      • How did this library ever compile, and how have they not fixed this...?
  • OpenCV
    • Header files are placed under opencv4/opencv2/*, but we're expecting files to be in opencv2/*. A temporary workaround is manually copying the opencv2 folder and moving it up a folder.
  • macOS SDK
    • It appears that a header called WKDownloadDelegate.h, a part of the macOS SDK, requires the macOS target to be at least 11.3. In other words, this means dropping support for 10.15-11.2. It doesn't seem like Bambu Studio is directly using it, but perhaps a dependency is -- this will need to be confirmed.

@lanewei120 lanewei120 requested a review from MackBambu October 28, 2024 00:58
@MackBambu
Copy link
Contributor

HI,@queengooborg
Thank you for submitting the PR
Has this PR resolved all issues, and is it ready for validation?

@MackBambu MackBambu self-assigned this Oct 28, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 23, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 23, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 23, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 23, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 23, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 23, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 23, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 24, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 25, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 25, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 25, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 25, 2024
emilazy added a commit to emilazy/nixpkgs that referenced this pull request Nov 25, 2024
@emilazy
Copy link

emilazy commented Nov 25, 2024

(Uh, very sorry about the notifications spam here, I forgot that GitHub likes to do that whenever you reference an issue in a commit message. Suffice to say that downstream distributors would love to see this brought to completion!)

@queengooborg
Copy link
Contributor Author

It's alright, those messages don't create emails!

I have mostly stepped away from this PR as my work commitments have taken up the free time I originally had to work on this. It might be best to split this up into smaller chunks and update one or two dependencies per PR. If I remember correctly, this was tricky because newer versions of the libraries wanted C++17.

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.

macOS: Compilation fails on new SDK
3 participants