Use cmake build
[platform/upstream/libsndfile.git] / CMakeLists.txt
index b1b49e9..f938ddc 100644 (file)
@@ -15,7 +15,7 @@ if (POLICY CMP0091)
        endif ()
 endif ()
 
-option (ENABLE_EXTERNAL_LIBS "Enable FLAC, Vorbis, and Opus codecs" ON)
+option (ENABLE_EXTERNAL_LIBS "Enable Vorbis, and Opus codecs" ON)
 if (ENABLE_EXTERNAL_LIBS)
        list (APPEND VCPKG_MANIFEST_FEATURES "external-libs")
 endif ()
@@ -35,7 +35,7 @@ if (BUILD_REGTEST)
        list (APPEND VCPKG_MANIFEST_FEATURES "regtest")
 endif ()
 
-project(libsndfile VERSION 1.1.0)
+project(libsndfile VERSION 1.2.0)
 
 #
 # Variables
@@ -94,7 +94,7 @@ endif ()
 
 include(SndFileChecks)
 
-if (ENABLE_EXTERNAL_LIBS AND NOT (Vorbis_FOUND OR FLAC_FOUND OR OPUS_FOUND))
+if (ENABLE_EXTERNAL_LIBS AND NOT (Vorbis_FOUND OR OPUS_FOUND))
        set (ENABLE_EXTERNAL_LIBS OFF)
 endif()
 if(ENABLE_MPEG AND (NOT HAVE_MPEG_LIBS))
@@ -134,7 +134,7 @@ set (HAVE_MPEG ${ENABLE_MPEG})
 set (HAVE_SPEEX ${ENABLE_EXPERIMENTAL})
 
 add_feature_info (BUILD_SHARED_LIBS BUILD_SHARED_LIBS "build shared libraries")
-add_feature_info (ENABLE_EXTERNAL_LIBS ENABLE_EXTERNAL_LIBS "enable FLAC, Vorbis, and Opus codecs")
+add_feature_info (ENABLE_EXTERNAL_LIBS ENABLE_EXTERNAL_LIBS "enable Vorbis, and Opus codecs")
 add_feature_info (ENABLE_MPEG ENABLE_MPEG "enable MPEG audio (including mp3) codecs")
 add_feature_info (ENABLE_EXPERIMENTAL ENABLE_EXPERIMENTAL "enable experimental code")
 add_feature_info (BUILD_TESTING BUILD_TESTING "build tests")
@@ -168,13 +168,7 @@ set_package_properties (Vorbis PROPERTIES
        DESCRIPTION "open source lossy audio codec"
        PURPOSE "Enables Vorbis support"
        )
-set_package_properties (FLAC PROPERTIES
-       TYPE RECOMMENDED
-       URL "www.xiph.org/flac/"
-       DESCRIPTION "Free Lossless Audio Codec Library"
-       PURPOSE "Enables FLAC support"
-       )
-set_package_properties (Lame PROPERTIES
+set_package_properties (mp3lame PROPERTIES
        TYPE RECOMMENDED
        URL "https://lame.sourceforge.io/"
        DESCRIPTION "High quality MPEG Audio Layer III (MP3) encoder"
@@ -220,8 +214,6 @@ feature_summary (WHAT ALL)
 
 configure_file (src/config.h.cmake src/config.h)
 
-configure_file (include/sndfile.h.in include/sndfile.h)
-
 if (INSTALL_PKGCONFIG_MODULE)
 
        set (prefix ${CMAKE_INSTALL_PREFIX})
@@ -230,27 +222,14 @@ if (INSTALL_PKGCONFIG_MODULE)
        set (includedir "\$\{prefix\}/${CMAKE_INSTALL_INCLUDEDIR}")
        set (VERSION ${PROJECT_VERSION})
        if (ENABLE_EXTERNAL_LIBS)
-               set (EXTERNAL_XIPH_REQUIRE "flac ogg vorbis vorbisenc opus")
+               set (EXTERNAL_XIPH_REQUIRE "ogg vorbis vorbisenc opus")
                if (ENABLE_EXPERIMENTAL)
                        set (EXTERNAL_XIPH_REQUIRE "${EXTERNAL_XIPH_REQUIRE} speex")
                endif ()
        endif ()
        if (ENABLE_MPEG)
                set (EXTERNAL_MPEG_REQUIRE "libmpg123")
-               get_filename_component(LAME_WE ${LAME_LIBRARY} NAME_WE)
-               if (LAME_HIP_LIBRARY)
-                       get_filename_component(LAME_HIP_WE ${LAME_HIP_LIBRARY} NAME_WE)
-               endif ()
-               if (CMAKE_IMPORT_LIBRARY_PREFIX)
-                       string (REGEX REPLACE "^${CMAKE_IMPORT_LIBRARY_PREFIX}" "" LAME_WE_NO_PREFIX ${LAME_WE})
-                       if (LAME_HIP_LIBRARY)
-                               string (REGEX REPLACE "^${CMAKE_IMPORT_LIBRARY_PREFIX}" "" LAME_HIP_WE_NO_PREFIX ${LAME_HIP_WE})
-                       endif ()
-               endif ()
-               set (EXTERNAL_MPEG_LIBS "-l${LAME_WE_NO_PREFIX}")
-               if (LAME_HIP_LIBRARY)
-                       set (EXTERNAL_MPEG_LIBS "${MPEG_LIBS} -l${LAME_HIP_WE}")
-               endif ()
+               set (EXTERNAL_MPEG_LIBS "-lmp3lame")
        endif ()
 
        configure_file (sndfile.pc.in sndfile.pc @ONLY)
@@ -263,8 +242,8 @@ endif ()
 
 # Public libsndfile headers
 set (sndfile_HDRS
+       include/sndfile.h
        include/sndfile.hh
-       ${CMAKE_CURRENT_BINARY_DIR}/include/sndfile.h
        )
 
 #
@@ -286,7 +265,6 @@ add_library (sndfile
        src/double64.c
        src/ima_adpcm.c
        src/ms_adpcm.c
-       src/gsm610.c
        src/dwvw.c
        src/vox_adpcm.c
        src/interleave.c
@@ -297,7 +275,6 @@ add_library (sndfile
        src/audio_detect.c
        src/ima_oki_adpcm.c
        src/ima_oki_adpcm.h
-       src/alac.c
        src/chunk.c
        src/ogg.h
        src/ogg.c
@@ -310,10 +287,8 @@ add_library (sndfile
        src/aiff.c
        src/au.c
        src/avr.c
-       src/caf.c
        src/dwd.c
        src/flac.c
-       src/g72x.c
        src/htk.c
        src/ircam.c
        src/macos.c
@@ -347,47 +322,6 @@ add_library (sndfile
        src/mpeg.c
        src/mpeg_decode.c
        src/mpeg_l3_encode.c
-       src/GSM610/config.h
-       src/GSM610/gsm.h
-       src/GSM610/gsm610_priv.h
-       src/GSM610/add.c
-       src/GSM610/code.c
-       src/GSM610/decode.c
-       src/GSM610/gsm_create.c
-       src/GSM610/gsm_decode.c
-       src/GSM610/gsm_destroy.c
-       src/GSM610/gsm_encode.c
-       src/GSM610/gsm_option.c
-       src/GSM610/long_term.c
-       src/GSM610/lpc.c
-       src/GSM610/preprocess.c
-       src/GSM610/rpe.c
-       src/GSM610/short_term.c
-       src/GSM610/table.c
-       src/G72x/g72x.h
-       src/G72x/g72x_priv.h
-       src/G72x/g721.c
-       src/G72x/g723_16.c
-       src/G72x/g723_24.c
-       src/G72x/g723_40.c
-       src/G72x/g72x.c
-       src/ALAC/ALACAudioTypes.h
-       src/ALAC/ALACBitUtilities.h
-       src/ALAC/EndianPortable.h
-       src/ALAC/aglib.h
-       src/ALAC/dplib.h
-       src/ALAC/matrixlib.h
-       src/ALAC/alac_codec.h
-       src/ALAC/shift.h
-       src/ALAC/ALACBitUtilities.c
-       src/ALAC/ag_dec.c
-       src/ALAC/ag_enc.c
-       src/ALAC/dp_dec.c
-       src/ALAC/dp_enc.c
-       src/ALAC/matrix_dec.c
-       src/ALAC/matrix_enc.c
-       src/ALAC/alac_decoder.c
-       src/ALAC/alac_encoder.c
        ${sndfile_HDRS}
        ${CMAKE_CURRENT_BINARY_DIR}/src/config.h
        )
@@ -406,12 +340,12 @@ target_include_directories (sndfile
 target_link_libraries (sndfile
        PRIVATE
                $<$<BOOL:${LIBM_REQUIRED}>:m>
+               $<$<BOOL:${LIBM_REQUIRED}>:dl>
                $<$<BOOL:${HAVE_EXTERNAL_XIPH_LIBS}>:Vorbis::vorbisenc>
-               $<$<BOOL:${HAVE_EXTERNAL_XIPH_LIBS}>:FLAC::FLAC>
                $<$<AND:$<BOOL:${ENABLE_EXPERIMENTAL}>,$<BOOL:${HAVE_EXTERNAL_XIPH_LIBS}>,$<BOOL:${HAVE_SPEEX}>>:Speex::Speex>
                $<$<BOOL:${HAVE_EXTERNAL_XIPH_LIBS}>:Opus::opus>
                $<$<BOOL:${HAVE_MPEG}>:MPG123::libmpg123>
-               $<$<BOOL:${HAVE_MPEG}>:Lame::Lame>
+               $<$<BOOL:${HAVE_MPEG}>:mp3lame::mp3lame>
        )
 set_target_properties (sndfile PROPERTIES
        PUBLIC_HEADER "${sndfile_HDRS}"
@@ -1351,27 +1285,11 @@ if (BUILD_TESTING)
                        $<$<BOOL:${LIBM_REQUIRED}>:m>
                )
 
-       ### g72x_test
-
-       add_executable (g72x_test src/G72x/g72x_test.c)
-       target_include_directories (g72x_test
-               PRIVATE
-                       src
-                       ${CMAKE_CURRENT_BINARY_DIR}/src
-               )
-       target_link_libraries (g72x_test
-               PRIVATE
-                       sndfile
-                       $<$<BOOL:${LIBM_REQUIRED}>:m>
-               )
-       add_test (g72x_test g72x_test all)
-
        ### aiff-tests
 
        add_test (write_read_test_aiff write_read_test aiff)
        add_test (lossy_comp_test_aiff_ulaw lossy_comp_test aiff_ulaw)
        add_test (lossy_comp_test_aiff_alaw lossy_comp_test aiff_alaw)
-       add_test (lossy_comp_test_aiff_gsm610 lossy_comp_test aiff_gsm610)
        add_test (peak_chunk_test_aiff peak_chunk_test aiff)
        add_test (header_test_aiff header_test aiff)
        add_test (misc_test_aiff misc_test aiff)
@@ -1384,24 +1302,10 @@ if (BUILD_TESTING)
        add_test (write_read_test_au write_read_test au)
        add_test (lossy_comp_test_au_ulaw lossy_comp_test au_ulaw)
        add_test (lossy_comp_test_au_alaw lossy_comp_test au_alaw)
-       add_test (lossy_comp_test_au_g721 lossy_comp_test au_g721)
-       add_test (lossy_comp_test_au_g723 lossy_comp_test au_g723)
        add_test (header_test_au header_test au)
        add_test (misc_test_au misc_test au)
        add_test (multi_file_test_au multi_file_test au)
 
-       ### caf-tests
-
-       add_test (write_read_test_caf write_read_test caf)
-       add_test (lossy_comp_test_caf_ulaw lossy_comp_test caf_ulaw)
-       add_test (lossy_comp_test_caf_alaw lossy_comp_test caf_alaw)
-       add_test (header_test_caf header_test caf)
-       add_test (peak_chunk_test_caf peak_chunk_test caf)
-       add_test (misc_test_caf misc_test caf)
-       add_test (chunk_test_caf chunk_test caf)
-       add_test (string_test_caf string_test caf)
-       add_test (long_read_write_test_alac long_read_write_test alac)
-
        # wav-tests
        add_test (write_read_test_wav write_read_test wav)
        add_test (lossy_comp_test_wav_pcm lossy_comp_test wav_pcm)
@@ -1409,8 +1313,6 @@ if (BUILD_TESTING)
        add_test (lossy_comp_test_wav_msadpcm lossy_comp_test wav_msadpcm)
        add_test (lossy_comp_test_wav_ulaw lossy_comp_test wav_ulaw)
        add_test (lossy_comp_test_wav_alaw lossy_comp_test wav_alaw)
-       add_test (lossy_comp_test_wav_gsm610 lossy_comp_test wav_gsm610)
-       add_test (lossy_comp_test_wav_g721 lossy_comp_test wav_g721)
        add_test (lossy_comp_test_wav_nmsadpcm lossy_comp_test wav_nmsadpcm)
        add_test (peak_chunk_test_wav peak_chunk_test wav)
        add_test (header_test_wav header_test wav)
@@ -1426,7 +1328,6 @@ if (BUILD_TESTING)
        add_test (lossy_comp_test_w64_msadpcm lossy_comp_test w64_msadpcm)
        add_test (lossy_comp_test_w64_ulaw lossy_comp_test w64_ulaw)
        add_test (lossy_comp_test_w64_alaw lossy_comp_test w64_alaw)
-       add_test (lossy_comp_test_w64_gsm610 lossy_comp_test w64_gsm610)
        add_test (header_test_w64 header_test w64)
        add_test (misc_test_w64 misc_test w64)
 
@@ -1443,7 +1344,6 @@ if (BUILD_TESTING)
        add_test (write_read_test_raw write_read_test raw)
        add_test (lossy_comp_test_raw_ulaw lossy_comp_test raw_ulaw)
        add_test (lossy_comp_test_raw_alaw lossy_comp_test raw_alaw)
-       add_test (lossy_comp_test_raw_gsm610 lossy_comp_test raw_gsm610)
        add_test (lossy_comp_test_vox_adpcm lossy_comp_test vox_adpcm)
        add_test (raw_test raw_test)
 
@@ -1522,9 +1422,6 @@ if (BUILD_TESTING)
        add_test (header_test_mpc2k header_test mpc2k)
        add_test (misc_test_mpc2k misc_test mpc2k)
 
-       ### flac-tests
-       add_test (write_read_test_flac write_read_test flac)
-       add_test (compression_size_test_flac compression_size_test flac)
        add_test (string_test_flac string_test flac)
 
        ### vorbis-tests
@@ -1587,7 +1484,6 @@ if (BUILD_TESTING)
                stdio_test
                pipe_test
                virtual_io_test
-               g72x_test
                )
 
 #      if (WIN32 AND BUILD_SHARED_LIBS)