-
Notifications
You must be signed in to change notification settings - Fork 6.4k
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
[AUBIO] Add new package (3/3) #1313
Conversation
What do you think about https://github.com/Microsoft/vcpkg/tree/aubio-cmake/ports/aubio? |
OMG, impressive. I just read it. I'll try it tonight. Thank you so much! |
I pushed a fix for static and confirmed that it builds in x86-windows and x64-windows-static for me. It only builds the library itself -- none of the executables. Is that fine? I don't know enough about the library ;p. |
It would be nice to have the executables in the tools/share/aubio folder, sources in the example folder. They're good for testing and basic analyzing (they also verify that everything links correctly). Another question: Is it maybe easy to generate the symbols with cmake rather than using that static list? Or does it still have to parse the sources? The disadvantage of that list is that it needs to be maintained separately and doesn't adjust to changing the use of deps. It's not a demand, of course, but I only settled on that static def file, because I wasn't able to handle that properly with waf ;) |
CMake does have the ability to auto-export every symbol via I've pushed that and did a bit of cleanup. If everything looks like it works to you, I can rebase and merge. Edit: Btw, the def file was very useful to make sure I had enabled all the components you wanted -- it generates link errors if symbols aren't available. |
Fantastic! Thank you very much. |
I've built them all too now, looks great! No mercy on the tools, right ;) Well, thank you a lot anyways!! I'll take your cmake script as a template to learn cmake properly ;) |
I do have a few suggestions, 1 change to link_libraries (add the transitive deps ogg, flac, vorbis, vorbisenc for static linking, I got linker errors in static builds when building the executables without them) and the option to build the 5 tiny executables in the example folder. It's just in the cmake file, portfile is unchanged ;) One thing maybe worth a mention: I get weird warnings about libsndfile in the static build, a bunch of the ones below. They're just warnings, but two things irritate me: where does the name sndfile-static.pdb come from, should it exist? Second even weirder: "libsndfile-1.lib" - unfortunately in the libsndfile build the static library is called libsndfile.lib (no -1), whereas the import library is in fact called libsndfile-1.lib.
|
I guess I can't push to your version, so I'll post my suggestions here: Portfile is just a single added debug option to avoid building the tools:
And I'll post the whole cmake script for simplicity:
|
Is there anything I can do to get this committed? ;) I guess we can also close the two other PRs, this one was originally based on? |
When I try to build this PR, I get an error:
Is that expected? What am I doing wrong, am I missing something? |
Two things:
One may also ask whether the pkg-config and waf PRs have a value independent of being an dependency for the old aubio build-script, but I am fine with closing them as not required any more... |
Thanks for the improvements! However, the tools failed to build for me with "missing config.h" errors. I went ahead and merged the core library build, and I'd be happy to accept a follow-up PR that enables the tools. Thanks again for the back and forth here :) |
Thanks for providing that alternative version. I remember now that I had commented out the config.h includes. They are not needed as the necessary definitions are provided in the cmake build script. We'd either have to provide/generate a config.h or ifdef the include. I think the later would be nicer, I'll try to discuss that upstream... Thanks for now! |
If a blank file will work, it should be pretty trivial to just do file(WRITE "${CURRENT_BINARY_DIR}/config.h" "")
include_directories(${CURRENT_BINARY_DIR}) |
Ah, if you're fine with a trick like that I'll push it tomorrow ;) (busy right now) |
Add package aubio. This is a nifty package for audio analysis.
This is the final PR in the chain pkg-config-waf->aubio (aubio can only detect dependencies based on pkg config)
Tested to build for x86/x64 static/dynamic md/mt. The static experience is slightly impeded by the fact that ffmpeg is fake static 😄