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 Catalina Support + _CXX11 + GCC 8.4 #540
Conversation
Codecov Report
@@ Coverage Diff @@
## develop #540 +/- ##
========================================
Coverage 48.79% 48.79%
========================================
Files 129 129
Lines 10034 10034
========================================
Hits 4896 4896
Misses 5138 5138 Continue to review full report at Codecov.
|
@@ -303,8 +305,6 @@ endforeach() | |||
# Threading library -- uses IMPORTED target Threads::Threads (since CMake 3.1) | |||
set(CMAKE_THREAD_PREFER_PTHREAD TRUE) | |||
set(THREADS_PREFER_PTHREAD_FLAG TRUE) | |||
find_package(Threads REQUIRED) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@ferdnyc MacOS Catalina and GCC 8.4 did not like this at all. The only way I could get a passing build was to remove this line. However, it still appears that Linux and Windows build find with this missing. I still need to test those builds, and make sure they actually work, but the compilation passes. Any thoughts on this one?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@jonoomph Only just saw this, sorry. The threading library configs were only ever there for OpenMP, since apparently not linking with pthreads could lead to link-time failures due to missing symbols. But I just ran a build with the current CMakeLists.txt
and /usr/lib64/libpthread.so
is right there next to /usr/lib/gcc/x86_64-redhat-linux/10/libgomp.so
in the final linker command line, so clearly OpenMP::OpenMP_CXX
is taking care of its dependencies now, the way it's supposed to.
In fact I just tried again after ripping out the variable-settings just above, and everything still built exactly the way it was supposed to, so we can probably dump those as well just to avoid confusion. Might as well let OpenMP handle everything for itself.
Big changes to our Mac builder, including an upgrade to Catalina (10.15). This change was required due to new Gatekeeper changes on newer MacOS versions. Apple now requires all apps to be notarized, which involves many things, including a hardened runtime, more strict code signing, and entitlements. It also required a newer compiler than GCC 4.8 (our previous one), so I upgraded to GCC 8.4.
The libopenshot changes are mostly related to GCC 8.4 + Catalina changes to folder locations.