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

macOS Xcode Project Updates to XCFrameworks C++17 - Bleeding Edge #7889

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

Conversation

danoli3
Copy link
Member

@danoli3 danoli3 commented Feb 7, 2024

macOS / OSX Bleeding Edge Update

Built with latest Binaries
Screenshot 2024-02-08 at 12 22 14 am

Presenting Apple XCFrameworks

  • macOS initial project changes for latest bleeding edge libraries and formatted in xcframeworks format.

XCFrameworks provide libraries in structured formats that allows for multiple architectures, targets all within the same project without causing linking errors and does provide target specific headers

Extra information to be packaged with each binary is a unique hash, framework version number, build date, checksums of binaries. With the latest changes comes sweeping security and vulnerability patches beyond count.

iOS / tvOS / MacCatalyst to follow soon

@ofTheo
Copy link
Member

ofTheo commented Feb 7, 2024

Sweet!

Looks like ( from the checks ) it is missing the libs though.
Would this need to pull from bleeding apothecary ?

@danoli3
Copy link
Member Author

danoli3 commented Feb 7, 2024

Just some potions to refine first and yeah i'll update github actions update and pull new download script

@danoli3
Copy link
Member Author

danoli3 commented Feb 9, 2024

Updated with linking to latest libraries / scripts now.

Validated Project Generator working
Validated Project Generator working for addons with xcframework (opencv)

@danoli3
Copy link
Member Author

danoli3 commented Feb 10, 2024

Okay fixed include copy using standard paths was not copying correctly from CI!

Should be ready for test @ofTheo

@danoli3
Copy link
Member Author

danoli3 commented Feb 10, 2024

Xcode all working disregard make file stuff for now

@danoli3
Copy link
Member Author

danoli3 commented Feb 11, 2024

Awesome fixed the make files, they were actually more sensitive to real problems so patched libraries correctly now!
Final potion fixes:

  • OpenCV no Nvidia carotene on arm64 macOS
  • Fixed FreeImage sub dependency LibPNG - now links to built lib rather than outdated package - solves double symbol and security issues

@danoli3 danoli3 requested a review from ofTheo February 11, 2024 04:42
@danoli3
Copy link
Member Author

danoli3 commented Mar 16, 2024

Thanks! Yeah fixed that although I think need to test if headers are now automatically included from xcframework, I think maybe

Merged in #7899 into this PR now. Makes sense to. Closing that one.

tvOS / iOS Projects / now linking against super mega xcframework and compiling successfully / running

@ofTheo
Copy link
Member

ofTheo commented Mar 21, 2024

Awesome!

If all the checks are passing and not due to caching or checks being skipped I am fine to merge this.
Be good to get a look at from @dimitre too.

@danoli3
Copy link
Member Author

danoli3 commented Mar 22, 2024

Yeah this is looking good to go! Yeah tests are all working and building locally too.

I do have further Mega Project stuff to Merge after this PR, however that one includes a lot of Defines as the whole project context is available for all platforms, in a workplace style within the macos folder, so best if separated after this PR

@danoli3 danoli3 requested a review from dimitre March 22, 2024 04:44
@ofTheo
Copy link
Member

ofTheo commented May 16, 2024

Sorry for the delay getting back to this @danoli3
If you want to resolve the conflicts - we can merge :)

@danoli3
Copy link
Member Author

danoli3 commented May 16, 2024

Rebased!

@danoli3
Copy link
Member Author

danoli3 commented May 16, 2024

Let me fix, I think one of the rebases I took wrong head

…leedingmacOS

* commit '7f37e70f65e9e022ba8868fb555570ce2c78a6ba': (37 commits)
  Allows Retina hi res enabled via App or Project.xcconfig (openframeworks#7971)
  actions changes (openframeworks#7968)
  Changing exr to hdr files for compatability with windows (openframeworks#7964)
  ofMesh - newfaces push_back to insert a list (openframeworks#7772)
  restore default-copy-constructibility of ofEvent (openframeworks#7969)
  [actions] ccache update (openframeworks#7967)
  Core small changes (openframeworks#7952)
  config.emscripten.default.mk for Emscripten >= 3.1.52 (openframeworks#7909)
  Fix edge case in findDelimiter (openframeworks#7911)
  oscpack / udpSocket: invert the "break_" semaphore (openframeworks#7963)
  ofxOscMessage: extra implicit adds [fixes something noted through openframeworks#7938 debugging] (openframeworks#7953) #changelog #ofxOsc
  ofThreadChannel::clear() to clear the channel (openframeworks#7921) #changelog #threadChannel
  OfxOscReceiver: from detach() to join() (openframeworks#7949)
  Update ofMathConstants.h (openframeworks#7958)
  [actions] update ubuntu 24.04 (openframeworks#7955)
  ofScopedMatrix (openframeworks#7946)
  [actions] - testing one action with multiple jobs for tests (openframeworks#7860)
  adding of.entitlements and vscode files to gitignore (openframeworks#7031)
  Make - use relative paths (openframeworks#7519)
  FPS timing with chrono (openframeworks#7867)
  ...

# Conflicts:
#	libs/openFrameworks/sound/ofAVEngineSoundPlayer.mm
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants