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

Enhanced macOS support #108

Merged
merged 3 commits into from
Apr 18, 2019
Merged

Conversation

OPNA2608
Copy link
Member

See: #96 (comment)
RtMidi, besides CoreMIDI, also requires the CoreAudio and
CoreFoundation frameworks to compile on macOS.

See: BambooTracker#96 (comment)
RtMidi, besides CoreMIDI, also requires the CoreAudio and
CoreFoundation frameworks to compile on macOS.
@OPNA2608
Copy link
Member Author

I also have some changes for .travis.yml to test compilation on macOS I can commit in abit, though I'm unsure what version of Xcode should be targeted, as this also dictates the minimum supported macOS version of the final .app package.

@rerrahkr
Copy link
Member

I don't have mac, so I also don't know which version most people use. It is necessary to ask someone else.

@OPNA2608
Copy link
Member Author

OPNA2608 commented Apr 15, 2019

The lowest Xcode version Travis CI offers is Xcode 6.4 for OS X 10.9 (October 22, 2013) and above (I think), but support for that has officially ended this January.

I tried Xcode 7.3 and 8 for OS X 10.11, but it complained about Travis CI's brew version being outdated.

Xcode 8.3 for macOS 10.12 (September 20th, 2016) is the oldest Xcode version I can compile BambooTracker with on Travis CI, so I'll commit a change to .travis.yml to add it.


That being said, Xcode 7.3.1 with Qt 5.9.7 on OS X 10.11.3 is the oldest combination I could get my hands on and it compiled fine, hence we should mention in the READMEs that it might be able to be built on even older OS X versions, but we can't offer a prebuilt image for those, only rough compilation instructions at best.


I don't have mac, so I also don't know which version most people use. It is necessary to ask someone else.

Unfortunately, the used Xcode version also dictates some extra features the compiled app will always support like dark mode with the latest version.

@OPNA2608 OPNA2608 changed the title Fix macOS compilation Enhanced macOS support Apr 15, 2019
@OPNA2608
Copy link
Member Author

OPNA2608 commented Apr 15, 2019

Whoops, that's what I get for never rebasing my test branches 😆

gui/wave_visual.cpp:23:10: error: no member named 'abs' in namespace 'std'; did you mean simply 'abs'?
sum += std::abs(buffer[2 * i]);
^~~~~~~~
abs
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/stdlib.h:129:6: note: 'abs' declared here
int abs(int) __pure2;
^
gui/wave_visual.cpp:24:10: error: no member named 'abs' in namespace 'std'; did you mean simply 'abs'?
sum -= std::abs(buffer[2 * i + 1]);
^~~~~~~~
abs
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/usr/include/stdlib.h:129:6: note: 'abs' declared here
int abs(int) __pure2;
^
2 errors generated.
make: *** [wave_visual.o] Error 1
The command "make" exited with 2.

That appears to be an issue with libc++ not being fully C++11 compliant in that regard. See next comment.
I'll try fixing that with a follow-up commit.

@jpcima
Copy link
Contributor

jpcima commented Apr 15, 2019

It's just a problem of missing include in this particular setting.
It's my fault for not including it, not a fault of libc++.
It's actually Mac is more rigorous on this, the comment is not very relevant.

@rerrahkr rerrahkr merged commit ff9d18f into BambooTracker:master Apr 18, 2019
@rerrahkr
Copy link
Member

Thanks for contributions!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants