TonicAudio / Tonic

Easy and efficient audio synthesis in C++
The Unlicense
522 stars 63 forks source link

Use CMake for all builds? #187

Open mtytel opened 11 years ago

mtytel commented 11 years ago

I haven't used CMake myself but it does create makefiles, xcode projects and VS solutions based on a single CMake file. Maybe it'll make some cross platform things you're doing easier? Just a suggestion, no hard feelings if you ignore this.

(The 'C' in CMake stands for cross platform)

ndonald2 commented 11 years ago

I don't know much about CMake - does it actually generate valid IDE project files, or just automated build scripts (Makefiles and such)? At this point I'd say we don't have much need for the latter, since Tonic is mostly used in the context of larger projects within an IDE.

morganpackard commented 11 years ago

I think it generates IDE files.

Sent from my iPhone

On Jun 20, 2013, at 11:39 AM, "Nick D." notifications@github.com wrote:

I don't know much about CMake - does it actually generate valid IDE project files, or just automated build scripts (Makefiles and such)? At this point I'd say we don't have much need for the latter, since Tonic is mostly used in the context of larger projects within an IDE.

— Reply to this email directly or view it on GitHubhttps://github.com/TonicAudio/Tonic/issues/187#issuecomment-19761628 .

ndonald2 commented 11 years ago

Oh cool, in that case maybe this is worth checking out for the more platform-independent demo projects (and possibly building as a static library)

morganpackard commented 11 years ago

It definitely seems like the right way to do things. Whether it's worth it to go back and retrofit what we have to use cmake or not at this point, I'm not sure. -m-

On Thu, Jun 20, 2013 at 11:44 AM, Nick D. notifications@github.com wrote:

Oh cool, in that case maybe this is worth checking out for the more platform-independent demo projects (and possibly building as a static library)

— Reply to this email directly or view it on GitHubhttps://github.com/TonicAudio/Tonic/issues/187#issuecomment-19761966 .

Morgan Packard cell: (720) 891-0122 aim: mpackardatwork twitter: @morganpackard

ndonald2 commented 11 years ago

I don't know enough about it to say how much work it would be, but at this point it seems like it would only be applicable in a few places, so it might not be that much work-

The oF demos are probably not candidates for CMake since the dependency structure is so convoluted, and the iOS demo isn't either (obviously).

I'm definitely down with keeping this issue alive. @mtytel if you're up for trying to integrate CMake in some meaningful way that would be awesome.

mtytel commented 11 years ago

I'm currently playing with a small CMake project that uses the google test library (and CMake can download that dependency) so maybe after I get comfortable I'll see if I can make it work in Tonic.

Dewb commented 11 years ago

I've been thinking about proposing this too. I'm not sold on CMake yet but I think some sort of cross-platform build infrastructure is a must, and it looks like the best-featured choice at the moment.

Awesome that CMake can download dependencies like GTest, that should be a boost to getting cross-platform testing set up.

andik commented 9 years ago

CMakeLists are not a big deal (I have a lot of examples here). The question i'd have is: does Tonic have some super special Compiler flags? I really hate to dig through that XCode Buildsettings page figuring that out...

morganpackard commented 9 years ago

The only weird compiler thing I can think of is possibly something @ndonald2 did to enable denormal rounding (whatever that means).

andik commented 9 years ago

Ah yes, I read that post... noticed

see http://mirkokiefer.com/blog/2013/03/cmake-by-example/ for a simple introduction. I'll file a PRQ in the next weeks...