Skip to content

cmake build support#2

Merged
barbibulle merged 1 commit intoaxiomatic-systems:masterfrom
nickdesaulniers:cmake
Apr 15, 2015
Merged

cmake build support#2
barbibulle merged 1 commit intoaxiomatic-systems:masterfrom
nickdesaulniers:cmake

Conversation

@nickdesaulniers
Copy link
Copy Markdown

you may find this more maintainable than the current makefile infrastructure and most of the things in Build/Targets/. Also, Build is an unfortunate name for those of us on operating systems with case insensitive filesystems, like OSX, and looking to do out of source builds.

@nickdesaulniers
Copy link
Copy Markdown
Author

I might be missing some things, like building a shared lib, and I think the sdk. Let me know in the feedback if these should be added, or if I was mistaken.

@barbibulle
Copy link
Copy Markdown
Contributor

Hi Nick. Thanks for the contribution. I'll take a look. The make-based build system isn't the preferred option for building this package. It is there for 'old timers', but the preferred build environment for Bento4 is:
OSX: Xcode (there's an Xcode project)
Windows: Visual Studio (there's a Visual Studio solution/projects)
Linux: SCons (SCons has been available on most Linux distributions for a long time)

Are you finding that SCons is missing much compared to cmake?

Also, can you explain what the issue with the 'Build' name? I use OS X as my main dev platform, and I've never run into a case-sentitvity issue with this name.

@nickdesaulniers
Copy link
Copy Markdown
Author

cmake is yet another build tool that can satisfy all 3 platforms, OSX, Windows, and Linux (at least for C++). See also: https://github.com/nickdesaulniers/c-http-server/blob/master/autotools.txt

Usually the idea w/ out of source builds is to:

mkdir build && cd build
cmake ..
make

or even

mkdir build && cd build
../configure
make

but build already exists (albeit upper camel case). Cmake dumps a ton of crap in the build dir, so it's common to rm -rf build when switching generators (for example from make to xcode), but that would remove a bunch of stuff shipped with the project and now you have modifications if you checked out the repo under version control.

My thinking was that a lot of the existing makefiles and Build/ could be flat out removed for everything but java and python. At the least, cmake simply offers another way to build this code.

BTW, these tools are really helpful. I'm putting together a talk on adaptive bitrate streaming on the web, and plan on pointing people to this repo.

@barbibulle
Copy link
Copy Markdown
Contributor

I see.
Why not:

[mkdir cmakebuild]
cd cmakebuild
cmake ..
make


rm -rf cmakebuild

I don’t think I’m quite ready to eliminate the existing ‘Build’ directory, as there may still be some platform fine-tuning that may be hard to achieve with cmake (until I try and get more familiar with it, things like iOS settings can be very finicky depending on the version of Xcode and iOS SDKs)

-- Gilles

On April 3, 2015 at 2:25:38 PM, Nick Desaulniers (notifications@github.com) wrote:

cmake is yet another build tool that can satisfy all 3 platforms, OSX, Windows, and Linux (at least for C++). See also: https://github.com/nickdesaulniers/c-http-server/blob/master/autotools.txt

Usually the idea w/ out of source builds is to:

cd build
cmake ..
make

but build already exists (albeit upper camel case). Cmake dumps a ton of crap in the build dir, so it's common to rm -rf build when switching generators (for example from make to xcode), but that would remove a bunch of stuff shipped with the project and now you have modifications if you checked out the repo under version control.

My thinking was that a lot of the existing makefiles and Build/ could be flat out removed for everything but java and python. At the least, cmake simply offers another way to build this code.

BTW, these tools are really helpful. I'm putting together a talk on adaptive bitrate streaming on the web, and plan on pointing people to this repo.


Reply to this email directly or view it on GitHub.

@nickdesaulniers
Copy link
Copy Markdown
Author

sure, the choice of build directory name is totally arbitrary, I was being overly pedantic. This pull request doesn't change anything related to build directory, so what are your thoughts on merging it?

@barbibulle
Copy link
Copy Markdown
Contributor

I’ll merge the pull request shortly.

Thanks.

-- Gilles

On April 6, 2015 at 1:40:27 PM, Nick Desaulniers (notifications@github.com) wrote:

sure, the choice of build directory name is totally arbitrary, I was being overly pedantic. This pull request doesn't change anything related to build directory, so what are your thoughts on merging it?


Reply to this email directly or view it on GitHub.

barbibulle added a commit that referenced this pull request Apr 15, 2015
@barbibulle barbibulle merged commit f8480fc into axiomatic-systems:master Apr 15, 2015
@nickdesaulniers nickdesaulniers deleted the cmake branch April 15, 2015 21:23
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.

2 participants