Commit Graph

58 Commits

Author SHA1 Message Date
evpobr
6a8f79044a CMake: Fix ENABLE_COMPATIBLE_LIBSNDFILE_NAME option
msys2/MINGW-packages#6877
2020-08-28 09:44:11 +05:00
evpobr
edc513af20 CMake: Install two forgotten man pages
msys2/MINGW-packages#6877
2020-08-28 09:36:13 +05:00
evpobr
a722c93f69 CMake: Fix broken ABI on Unix-like platforms
Closes #567.
2020-08-27 13:21:12 +05:00
evpobr
acfcd147da Move public headers to include directory 2020-08-26 11:59:26 +05:00
evpobr
26e473796c CMake: Deprecate ENABLE_STATIC_RUNTIME for CMake >=3.15
Closes #546.
2020-08-24 12:58:21 +05:00
evpobr
4f6f65752b doc/index.html: Extract formats table to formats.html
It is too wide for index page, especially for mobile devices.

Now it is moved to formats.html.
2020-08-23 12:27:21 +05:00
evpobr
5520e32b6a CMake: Add INSTALL_PKGCONFIG_MODULE option
Closes #547
2020-08-18 11:28:35 +05:00
evpobr
2bc2d4e4dc CMake: Fix ENABLE_CPACK option
Closes #544
2020-08-18 11:12:56 +05:00
evpobr
ccb75f4829 Version 1.0.29 2020-08-15 10:50:52 +05:00
evpobr
af49a5021c CMake fixes
* Set static runtime by default for MinGW

  Autotools does the same. Also fixes bug - compiler flags for MinGW were
  cleared by when ENABLE_STATIC_RUNTIME is OFF (default).

  Also ENABLE_STATIC_RUNTIME option disabled for MinGW.

* Better CMake policies handling
* Add SndFile::sndfile alias library
* Don not add programs to package config-file
* Update README.md
* Fix generator expression with src/version-metadata.rc
2020-08-04 15:59:22 +05:00
evpobr
06ebde50e3 CMake fixes
* Update Vorbis targets to match upstream
* Better dependency handling with Vcpkg
* Fix dev warning with SQLite3
2020-04-12 16:20:04 +10:00
evpobr
a1fa15ff44 cmake: Bump version to 1.0.29pre2 2020-04-07 18:54:45 +10:00
evpobr
e6909192ce CMake improvements
* Fix Ogg and Opus imported targets
* Better SndFileConfig.cmake module with dependency checks
* Fix config-file package installation directory
* Prefer config-file package mode for Windows CI builds
* Update README.md
* Allow CMAKE_MSVC_RUNTIME_LIBRARY option to set MSVC ABI
* Fix some bugs in FindFLAC.cmake (closes #505)
2020-03-08 17:34:27 +11:00
Jean Pierre Cimalando
a7e9fb5f7c List pkgconfig dependencies in Requires.private 2020-03-08 13:02:42 +11:00
Naji Mammeri
ae64caf9b5 Fix building programs while BUILD_SHARED_LIBS=ON 2019-10-13 08:54:20 +11:00
evpobr
be5a7ccee3 CMake: fix default install directory on Windows
Closes #486.
2019-09-17 06:21:32 +10:00
Matti Lehtimäki
a6866b8716 CMake: Fix installation of man pages. 2019-03-29 11:31:26 +05:00
Arthur Taylor
326e4533f3 Opus file support
Ogg: Introduce new functions ogg_sync_fseek(), ogg_ftell(), ogg_next_page(),
ogg_stream_next_page(), ogg_sync_last_page_before(), and
ogg_stream_unpack_page(). Use ogg_sync_* for ogg_read_first_page(). Bump libogg
version requirement from 1.1.3 to 1.3.0 as LibOgg 1.3.0 is required for
ogg_stream_pageout_fill() and ogg_stream_flush_fill().

Opus: Add opus support. Document added commands
SFC_(GET|SET)_ORIGINAL_SAMPLERATE. Added or extended tests ogg_opus_test,
compression_size_test, floating_point_test, lossy_comp_test, string_test,
external_libs_test. Change Opus to non-experimental.
2019-02-20 19:30:30 +11:00
Conrad Jones
02467cc1bb modernize cmake module include. 2018-08-26 14:55:15 +10:00
evpobr
cebfdf275e Enable ENABLE_COMPATIBLE_LIBSNDFILE_NAME by default
Also fix bug from previous commit.
2018-08-25 12:16:36 +10:00
evpobr
61c416219c Add ENABLE_COMPATIBLE_LIBSNDFILE_NAME option 2018-08-25 12:16:36 +10:00
evpobr
6710ff3fc6 CMake: updates & fixes 2018-08-25 12:16:36 +10:00
evpobr
1eb2a00199 CMake: fix BUILD_TESTING option
Closes: #376
2018-03-18 09:51:19 +11:00
evpobr
e62e5cd9f2 CMake: fix linking winmm.lib under MXE platform
Closes: #377
2018-03-18 09:50:57 +11:00
evpobr
a34dc27739
CMake: Add test case for NMS_ADPCM in WAV file
Related to #361.
2018-03-10 15:46:51 +05:00
Arthur Taylor
64e5a3f182 Add NMS ADPCM codec implementation and support
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2018-02-03 19:44:33 +11:00
David Seifert
e6c42ff027 Make build system completely non-recursive 2017-09-26 19:35:56 +10:00
evpobr
3d8399dfde Fix broken ABI
Unfortunately ABI was broken when symbols files were removed
in favour of new visibility control of exported functions.

Visibility control with -fvisibility works fine, but symbol
scripts had another feature - versioned symbols. And we lost it.

Since we can not make our symbols to be versioned  with the new
approach, it's decided to return everything back.

* CMake: Restore symbol files generation
* CMake: Python is required to build shared libraries
* Autotools: Restore symbol files generation

Closes: https://github.com/erikd/libsndfile/issues/268
2017-05-26 06:16:42 +10:00
evpobr
6830c42189 CMake: Win32 fixes
* Fix linking with shared library (DEF file was not used)
* Version script was not used
* Use the same version script for Autotools and CMake
* Give proper name to shared library import lib
* Public headers were not installed on static library only build

Closes: https://github.com/erikd/libsndfile/issues/249
2017-04-29 15:33:35 +10:00
evpobr
f614de1fbe CMake: Fix missing libsndfile-1.def
Closes: https://github.com/erikd/libsndfile/issues/249
2017-04-29 09:14:43 +10:00
evpobr
5c6129fce6 Autotools: Implement symbols visibility control
* Use symbol file under Win32 with MinGW only
* Use unified visibility control for other platforms
* Add recommended win32-dll option to LT_INIT macro

Closes: https://github.com/erikd/libsndfile/issues/213
2017-04-28 18:01:09 +10:00
evpobr
54dc330215 CMake: fix importing with add_subdirectory command 2017-04-26 16:02:11 +10:00
evpobr
9ebb96ca72 More CMake polishing
* Add win32_ordinal_test to test suite
* Add examples targets
* Add sndfile-regtest target
* Improve compatibility with MSVC
* Check direct.h header
* Add define to enable math constants
* Don't use CTest if tests are disabled
* Make packaging configurable
* Suppress annoying MSVC warnings
* Add ENABLE_BOW_DOCS option
* Add ENABLE_STATIC_RUNTIME option
* Add package config support
* Tune large files support messages
* Don't build tests when static libs disabled
* Use VS solution folders feature
* Fix option value set twice
* Rename sndfile target to sndfile-shared
* Mark M_LIBRARY variable as advanced
* Fix config packages installation directory
* Rename ENABLE_PACKAGING option for clarity
* CPack fixes
* Add CMake modules to Makefile.am
* Update documentation

Closes: https://github.com/erikd/libsndfile/issues/71
2017-04-25 19:21:40 +10:00
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
Anonymous Maarten
d7efb3bfc6 CMake: Allow parallel out-of-tree build
This allows parallel builds of different LibSndFile configurations

- results of configure_file and AutoGen are saved in CMAKE_BINARY_DIR
- the directory ${CMAKE_BINARY_DIR}/src is make a public include directory
- remove generated files in source tree prior to generation + fix install

Related: https://github.com/erikd/libsndfile/issues/71
2017-04-25 19:21:40 +10:00
evpobr
b1194240ea CMake: Add BUILD_PROGRAMS option
ON by default, set to OFF to disable building of programs.

Related: Related: https://github.com/erikd/libsndfile/issues/71
2017-04-10 06:22:53 +10:00
evpobr
bbbb48f076 CMake: Fix programs installation
Related: https://github.com/erikd/libsndfile/issues/71
Closes: https://github.com/erikd/libsndfile/issues/219
2017-04-10 06:22:53 +10:00
evpobr
5c286b274d CMake: Simplify sndfile_play configuring
* Remove sndfile_play_beos target, use single sndfile_play under all platforms
* Remove HAIKU variable check, found no information found about it.

Related: https://github.com/erikd/libsndfile/issues/71
2017-04-10 06:22:53 +10:00
evpobr
3fad82658b CMake: Fix docs installation path
Related: https://github.com/erikd/libsndfile/issues/71
Closes: https://github.com/erikd/libsndfile/issues/220
2017-04-09 20:15:13 +10:00
evpobr
5d267da941 CMake: bump version up to 1.0.29pre1
Issue: https://github.com/erikd/libsndfile/issues/71
2017-04-09 16:26:10 +10:00
Erik de Castro Lopo
1c0ea87cc3 Rework CMake build system
Signed-off-by: Erik de Castro Lopo <erikd@mega-nerd.com>
2017-04-05 19:38:36 +10:00
Erik de Castro Lopo
7b6d2f85b0 CMake: More fixes 2016-07-03 14:14:17 +10:00
Erik de Castro Lopo
6776ceafa8 CMake: Detect and link external libs (FLAC/vorbis/ogg)
Works on Linux, not tested elsewhere.
2016-07-02 21:16:40 +10:00
Erik de Castro Lopo
9c6e45a103 Comprehensive CMake improvements
It should now be possible to build libsndfile from a git checkout, at
least on Linux. No idea if it will work on other systems.

Additionally, if one builds on linux from a git checkout and then builds
a distribution tarball, it should be possible to transfer that distribution
tarball to a system without the GNU autotools and build it using CMake. This
however has not been tested.
2016-07-02 17:15:47 +10:00
Erik de Castro Lopo
de3f7a6e76 CMakeLists.txt: Rename EXTERNAL_* to EXTERNAL_XIPH_* 2016-03-14 17:45:17 +11:00
Erik de Castro Lopo
5e887cd6d2 Bunch of minor CMake fixes 2016-02-08 10:18:19 +11:00
Erik de Castro Lopo
334ac776f5 Minor CMake files.
* CMake now fails of CMake/config.h.in doesn't exist.
* Command './autogen cmake' now generates CMake/config.h.in.
2014-10-28 21:00:08 +11:00
Erik de Castro Lopo
8327dd3070 CMakeLists.txt : Use bash to run test_wrapper.sh. 2014-08-12 20:10:32 +10:00
Erik de Castro Lopo
d7dd4d035f CMakeLists.txt : Generate tests/test_wrapper.sh during configure.
Plus other minor cleanups.
2014-07-31 22:08:01 +10:00
Erik de Castro Lopo
56ee678e7d CMake : Build system nears parity with autotool build system.
Specifically, it can now build the shared library (without Ogg/Vorbis
or FLAC support) and the programs as well as building and running
the tests using 'make check'. This new CMake build system has a single
top level build description and on Unix, by default generates a non-
recursive Makefile (unlike the existing autotools build system).

I dedicate this commit to Peter Miller (pmiller) who died in the early
hours of 2014/07/27 after a long illness. Peter was the author of the
paper "Recursive Make Considered Harmful":

    http://aegis.sourceforge.net/auug97.pdf

This paper was the inspiration for the build systems for the Linux
kernel, the Glasgow Haskell Compiler and many other projects.

Peter was also the author of a Make replacement program Cook:

    http://miller.emu.id.au/pmiller/software/cook/

Peter was a great friend, a great work colleague and an extremely
skilled and knowledgeable software engineer.

Goodbye my friend. #commitforpmiller
2014-07-31 21:18:30 +10:00