Commit Graph

64 Commits

Author SHA1 Message Date
Martin Delille
8e97d8182e Fix MacOS 10.13 compatibility 2020-09-20 19:12:22 +10:00
evpobr
68958f9c91 Release 1.0.30 2020-09-19 11:48:47 +05:00
evpobr
837c4864b3 Fix CMake policy CMP0091 handling
Avoid unknown policy error.

Related to #546.
2020-09-17 19:33:38 +05:00
evpobr
22fca506cf CMake: Fix manpages installation on some platforms
Two manpages are installed by Autotools as symlinks, on some platforms
they are not visible and installation fails with error.

Install these files with renaming to avoid errors.

Related to edc513a, #m-ab-s/media-autobuild_suite#1801
2020-08-29 17:27:06 +05:00
evpobr
f284bdf589 CMake: Use target_link_options() to add link flags 2020-08-28 15:16:53 +05:00
evpobr
62868cede0 CMake: Add INSTALL_MANPAGES option
msys2/MINGW-packages#6877
2020-08-28 09:56:13 +05:00
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