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

Merged
merged 69 commits into from
Jun 26, 2024

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

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

…frameworks

* commit '25d0a4ba0c8b8ee96123fc669a884ab9f3f77982':
  Download ProjectGenerator to downloads, optimise wont re-download if in sync (openframeworks#8012)
  ofxAssimpModelLoader addon_config.mk osx exclusions
  Downloader 3.2.3 - fixes for install detection and single url for curl (openframeworks#8009)
  Download libs script update (adds openframeworks#7907 wget2) - params and fixes deploy logs  (openframeworks#8002)
  .mk removing repeated configs
  COREVIDEO_SILENCE_GL_DEPRECATION (openframeworks#8005)
  ios template update
  update addons folder in xcode template (openframeworks#8003)
  VS download latest x64 only (openframeworks#7999)

# Conflicts:
#	scripts/apothecary
#	scripts/dev/download_libs.sh
#	scripts/osx/download_latest_libs.sh
#	scripts/templates/ios/emptyExample.xcodeproj/project.pbxproj
…frameworks

* commit '18df276bbff9526d1f1f0a60d0958406abffce58':
  Fix for set volume function in Media Foundation player. (openframeworks#8025)
  Fix for emscripten not being able to render wireframe. though it just renders as GL_LINES and is not visually the same as polygonMode (openframeworks#8023)
  macOS video player thread priority (openframeworks#8018)
  Submodules sync and pg fix paths (openframeworks#8014)

# Conflicts:
#	scripts/apothecary
…leedingmacOS

* commit '90efc05e72033fbe354772ff4f2ac1238b16b5e3':
  ofxOscReceiver dyna alloc stress test: better state change handling for STABLE test (openframeworks#7994)
  pg use nightly vs (openframeworks#8028)
  linux fix missing libcurl (openframeworks#8027)
@danoli3 danoli3 added this to the 0.13.0 milestone Jun 26, 2024
@danoli3 danoli3 self-assigned this Jun 26, 2024
#ifdef TARGET_OF_TVOS
#include "ofxtvOSURLFileLoader.h"
ofURLFileLoader::ofURLFileLoader()
: impl(new ofxtvOSURLFileLoader) { }
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

need to fix this later post curl fixes

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

iOS currently targets macOS mega framework

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we using json now actually might delete this

Copy link
Member Author

@danoli3 danoli3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking pretty ready

@danoli3
Copy link
Member Author

danoli3 commented Jun 26, 2024

Leeroy

@danoli3 danoli3 merged commit 51012f4 into openframeworks:master Jun 26, 2024
12 checks passed
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