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 46 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
* branch_bleedingiOS:
  Revert "Xcode Project to XML iOS / macOS"
  Xcode Xchemas
  tvOS Update Bleeding
  Xcode Project to XML iOS / macOS
  Xcode Pbxproj to XML script - XML is required for PG to work for these projects. Added script as we keep forgetting
  Fix ofxAccelerometer / url off for tvOS
  iOS Download Libs / Actions and scripts for other platforms
  iOS curl disabled for moment
  iOS Bleeding Latest
  GitHub Actions macOS makefiles on
  GitHub Actions
  GitHub Actions - macOS disabled makefile until dupe fix
  macOS addon ofxSVG
  Apothecary on Bleeding
  Fixes openframeworks#7781
  macOS just one download latest libs
  macOS Download Libs Fix path no arch as xcframework merged
  GitHub Actions
  macOS GitHub Actions Latest Libs
  Xcode Project Updates to XCFrameworks C++17 - Bleeding Edge

# Conflicts:
#	.github/workflows/build-ios-tvos.yml
#	libs/openFrameworksCompiled/project/osx/CoreOF.xcconfig
@dimitre
Copy link
Member

dimitre commented Mar 15, 2024

I think there is a typo here :
HEADER_FMT = "$(OF_PATH)/libs/glm/include"
glm -> fmt

@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
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