Go to file
Anonymous Maarten 560cefe607 CMake: Use CMakeAutoGen as CMake AutoGen implementation
* By removing the GNU AutoGen dependency of the cmake,
  libsndfile can be built using only cmake and a compiler toolchain
* Fix non-matching FOR and ENDFOR of template src/test_endswap.tpl
* Add pcm_test to test suite

Related: https://github.com/erikd/libsndfile/issues/71

Closes: https://github.com/erikd/libsndfile/issues/154
2017-04-25 19:21:40 +10:00
cmake CMake: Use CMakeAutoGen as CMake AutoGen implementation 2017-04-25 19:21:40 +10:00
doc doc/Makefile.am: Add missing print.css 2017-04-10 06:24:45 +10:00
examples Compile tests only when running 'make check' 2017-01-28 21:16:21 +11:00
M4 Add API exported functions visibility control 2017-03-15 06:13:19 +11:00
man Fix spelling errors 2016-07-20 20:05:38 +10:00
Octave Do not use old variable INCLUDES and use modern AM_INIT_AUTOMAKE invocation. 2013-04-07 20:05:08 +10:00
programs tests: Fixes for MSVC 2017-04-14 13:03:27 +10:00
regtest tests: Fixes for MSVC 2017-04-14 13:03:27 +10:00
Scripts Scripts/cmake-build.sh: Build out of tree 2017-04-09 15:41:40 +10:00
src CMake: Use CMakeAutoGen as CMake AutoGen implementation 2017-04-25 19:21:40 +10:00
tests RF64 tweaks 2017-04-18 20:07:10 +10:00
Win32 Remove cruft from Win32 dir. 2008-10-08 21:19:23 +11:00
.editorconfig Add .editorconfig 2017-04-03 20:23:49 +10:00
.gitattributes Add .gitattributes file 2016-09-06 18:17:43 +10:00
.gitignore Rework CMake build system 2017-04-05 19:38:36 +10:00
.travis.yml Fix 'make distcheck' 2017-04-14 16:10:45 +10:00
AUTHORS AUTHORS : Add contributors. 2014-09-02 06:17:37 +10:00
autogen.sh autogen.sh: Only add hook if .git exists 2016-11-14 05:54:15 +11:00
Building-for-Android.md Add file Building-for-Android.md 2016-07-16 22:07:41 +10:00
ChangeLog Fix some typos. 2014-10-27 06:17:57 +11:00
CMakeLists.txt CMake: Use CMakeAutoGen as CMake AutoGen implementation 2017-04-25 19:21:40 +10:00
configure.ac configure.ac: Remove useless LIBTOOL_DEPS macro 2017-04-05 19:35:27 +10:00
CONTRIBUTING.md CONTRIBUTING.md: Add submitting issues section 2017-04-16 19:32:18 +10:00
COPYING First snapshot of the public project. 2007-05-14 19:55:24 +10:00
echo-install-dirs.in Use pkgconfigdir variable as it is not sure it will be libdir/pkgconfig. 2013-04-28 21:35:08 +10:00
libsndfile.spec.in libsndfile.spec.in : Change field name 'URL' to 'Url'. 2011-12-19 20:22:34 +11:00
make_lite.py Clean out cruft. 2008-04-05 20:13:47 +11:00
Makefile.am Fix 'make distcheck' 2017-04-06 19:29:22 +10:00
NEWS Version 1.0.28 2017-04-02 18:52:51 +10:00
README Version 1.0.28 2017-04-02 18:52:51 +10:00
README.md Add CONTRIBUTING.md, closes #202 2017-03-14 19:40:21 +11:00
sndfile.pc.cmake.in Rework CMake build system 2017-04-05 19:38:36 +10:00
sndfile.pc.in sndfile.pc.in: missing update from 95828ca2 2016-04-30 07:29:07 +10:00

libsndfile

Build Status

libsndfile is a C library for reading and writing files containing sampled audio data.

Hacking

The canonical source code repository for libsndfile is at https://github.com/erikd/libsndfile/.

You can grab the source code using:

$ git clone git://github.com/erikd/libsndfile.git

For building for Android see BuildingForAndroid.

There are currently two build systems; the official GNU autotool based one and a more limited and experimental CMake based build system. Use of the CMake build system is documented below.

Setting up a build environment for libsndfile on Debian or Ubuntu is as simple as:

sudo apt install autoconf autogen automake build-essential libasound2-dev \
    libflac-dev libogg-dev libtool libvorbis-dev pkg-config python

For other Linux distributions or any of the *BSDs, the setup should be similar although the package install tools and package names may be slightly different.

Similarly on Mac OS X, assuming brew is already installed:

brew install autoconf autogen automake flac libogg libtool libvorbis pkg-config

Once the build environment has been set up, building and testing libsndfile is as simple as:

$ ./autogen.sh
$ ./configure --enable-werror
$ make
$ make check

The CMake build system.

The CMake build system is still experimental and probably only works on linux because it still relies on GNU autotools for bootstrapping. Using it as simple as:

$ Scripts/cmake-build.sh

I would be happy to accept patches to make the CMake build system more portable.

Submitting Patches.

See CONTRIBUTING.md for details.