openFrameworks icon indicating copy to clipboard operation
openFrameworks copied to clipboard

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

Open danoli3 opened this issue 1 year ago • 10 comments

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

danoli3 avatar Feb 07 '24 23:02 danoli3

Sweet!

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

ofTheo avatar Feb 07 '24 23:02 ofTheo

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

danoli3 avatar Feb 07 '24 23:02 danoli3

Updated with linking to latest libraries / scripts now.

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

danoli3 avatar Feb 09 '24 00:02 danoli3

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

Should be ready for test @ofTheo

danoli3 avatar Feb 10 '24 03:02 danoli3

Xcode all working disregard make file stuff for now

danoli3 avatar Feb 10 '24 05:02 danoli3

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 avatar Feb 11 '24 04:02 danoli3

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

dimitre avatar Mar 15 '24 14:03 dimitre

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

Merged in https://github.com/openframeworks/openFrameworks/pull/7899 into this PR now. Makes sense to. Closing that one.

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

danoli3 avatar Mar 16 '24 08:03 danoli3

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.

ofTheo avatar Mar 21 '24 15:03 ofTheo

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 avatar Mar 22 '24 01:03 danoli3

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

ofTheo avatar May 16 '24 03:05 ofTheo

Rebased!

danoli3 avatar May 16 '24 04:05 danoli3

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

danoli3 avatar May 16 '24 06:05 danoli3

Leeroy

danoli3 avatar Jun 26 '24 18:06 danoli3