-
Notifications
You must be signed in to change notification settings - Fork 28
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
Use submodules and subdirs #294
Use submodules and subdirs #294
Conversation
bc2c093
to
28ee9bd
Compare
28ee9bd
to
30be101
Compare
- Rt{Audio,Midi} -> git submodules - global project file Project.pro, uses sub-projects via subdirs template - resource pack moved to BambooTracker (necessitated by being compiled into binary object format) - use_* complemented via feature detection in Rt{Audio,Midi} sub-projects
d159afa
to
96752f4
Compare
Wrote & use common API test function, evaluate use_* config variables against platform-required APIs and detected APIs to error on missing dependencies.
Updated testing to take the platform's required & specifically enabled APIs into consideration, erroring out early of either of them cannot be satisfied. Needs more changes to disable all this testing if |
@rerrahkr I consider this basically-done now, I'd appreciate if you could try to compile & run this on Windows & possibly macOS. I've struggled abit with the added git submodules at the start, I hope they're not giving you any problems (might need a I don't know which branch to merge this into - it's based on For the time being, I'll push this branch to my fork's master and push a tag there, bearing in mind that the XP builds will fail due to #296. |
GitHub CI: https://github.com/OPNA2608/BambooTracker/runs/1581887247 macOS on GitHub failed, looks like a problem with Homebrew (which I didn't really touch since the last run). Unfortunate, I hope that fixes itself without me having to touch the Homebrew stuff. 😕 |
I will test them on mac later. When I run the Windows build of Appveyor, I get an error that Qt5Core.dll and Qt5Gui.dll are missing. |
Hmm nevermind, that didn't fix it… I'll dig out my Windows machine and try to figure out where those dependencies on release libraries are coming from. 😕 Before: (5449f96 - https://ci.appveyor.com/project/rerrahkr/bambootracker/build/job/lns339ixv7ual5sl)
After:
|
I tested them a while ago, and they worked fine. |
4da6ac4
to
e2d1897
Compare
GitHub CI: https://github.com/OPNA2608/BambooTracker/commit/0f3ea09f8b4ea050b173284773780078c9759d15/checks |
# JACK implies brew link python-3.9, fails due to shipped python binaries | ||
brew unlink python@3.9 | ||
brew link --overwrite python@3.9 | ||
brew upgrade --force python@3.9 | ||
brew install qt5 pkg-config jack p7zip |
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.
jack
has a dependency on python@3.9
. When it tries to install python-3.9.1_1
on GHA and link its binaries into the system's common bin path, it finds a symlink/binary(?) in /usr/local/bin that belongs to macOS' shipped python2 installation and errors out. The suggested options to instead overwrite it assume that there was an attempt to install just python@3.9
and I couldn't get it to work for this dependency use-case.
==> Pouring python@3.9-3.9.1_1.catalina.bottle.tar.gz
Error: The `brew link` step did not complete successfully
The formula built, but is not symlinked into /usr/local
Could not symlink bin/2to3
Target /usr/local/bin/2to3
already exists. You may want to remove it:
rm '/usr/local/bin/2to3'
To force the link and overwrite all conflicting files:
brew link --overwrite python@3.9
To list all files that would be deleted:
brew link --overwrite --dry-run python@3.9
Possible conflicting files are:
/usr/local/bin/2to3 -> /Library/Frameworks/Python.framework/Versions/2.7/bin/2to3
Unlinking the pre-installed python@3.9
package and relinking it somehow, magically, fixes this. The brew upgrade
is just to make sure that it's not python that's failing anymore.
ALSA check (randomly, in either of the Rt libs) frequently fails on Nixpkgs CI, possibly due to running the checks in parallel within the main build step? Manually invoking the checks with only one thread.
LGTM. Would you mind me merging this PR? |
Go ahead. 👍 |
Thanks for your contribution! |
(targeting link_rtaudio_rtmidi branch for lower code delta)
subdirs
template to check & build the sub-projects:CONFIG+=system_rtaudio
)CONFIG+=system_rtaudio
)/data/resources/
) has been moved to/BambooTracker
. While it's technically better in/data
, it's being compiled into an *.o file which doesn't fit well with how the rest of the assets are being treated (no compiling & linking into the BambooTracker binary required, so using compiler-lessTEMPLATE
option) and makes including the object file into BambooTracker abit harder than when everything was mashed together. Open for suggestions here.qtCompileTest
s is used to determine what APIs are supported by the system, similar to how Rt{Audio,Midi}'s own build system detects available features.needs to be retargeted at master after #288 is mergedSee message below.