From b1bc2687dd0516060cc93108c6f95bf0e0789c71 Mon Sep 17 00:00:00 2001 From: hobbes1069 Date: Tue, 3 Mar 2015 16:03:57 +0000 Subject: [PATCH] Fix static builds of sox and libsndfile. git-svn-id: https://svn.code.sf.net/p/freetel/code@2049 01035d8c-6547-0410-b346-abe4f91aad63 --- fdmdv2/cmake/BuildSndfile.cmake | 10 +++++++--- fdmdv2/cmake/BuildSox.cmake | 21 ++++++++++++++------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/fdmdv2/cmake/BuildSndfile.cmake b/fdmdv2/cmake/BuildSndfile.cmake index 91b48e3e..2375c479 100644 --- a/fdmdv2/cmake/BuildSndfile.cmake +++ b/fdmdv2/cmake/BuildSndfile.cmake @@ -6,11 +6,15 @@ ExternalProject_Add(sndfile BUILD_IN_SOURCE 1 INSTALL_DIR external/dist CONFIGURE_COMMAND ./configure --prefix=${CMAKE_BINARY_DIR}/external/dist --disable-external-libs --disable-shared - BUILD_COMMAND $(MAKE) + BUILD_COMMAND $(MAKE) V=1 INSTALL_COMMAND $(MAKE) install ) -set(SNDFILE_LIBRARIES - ${CMAKE_BINARY_DIR}/external/dist/lib/libsndfile.a) +if(MINGW) + set(SNDFILE_LIBRARIES ${CMAKE_BINARY_DIR}/external/dist/bin/libsndfile-1.dll) +else() + set(SNDFILE_LIBRARIES ${CMAKE_BINARY_DIR}/external/dist/lib/libsndfile.a) +endif() + include_directories(${CMAKE_BINARY_DIR}/external/dist/include) list(APPEND FREEDV_LINK_LIBS ${SNDFILE_LIBRARIES}) list(APPEND FREEDV_STATIC_DEPS sndfile) diff --git a/fdmdv2/cmake/BuildSox.cmake b/fdmdv2/cmake/BuildSox.cmake index 206f6d72..9d513e16 100644 --- a/fdmdv2/cmake/BuildSox.cmake +++ b/fdmdv2/cmake/BuildSox.cmake @@ -20,6 +20,15 @@ On Linux systems try installing: ) endif(UNIX AND NOT AO_LIBRARIES) +# For some reason libsox is not linked against linsndfile. We workaround it +# here but need to know if we're using the system provided library or not. +#if(USE_STATIC_SNDFILE) +# # Use known location of internal build. +# set(SNDFILE_LIB ${SNDFILE_LIBRARIES}) +#else() +# # Use found system library. +# set(SNDFILE_LIB ${LIBSNDFILE}) +#endif() include(ExternalProject) ExternalProject_Add(sox @@ -27,18 +36,16 @@ ExternalProject_Add(sox BUILD_IN_SOURCE 1 INSTALL_DIR external/dist CONFIGURE_COMMAND ./configure --enable-shared=no --without-id3tag --without-png --disable-gomp --with-oggvorbis=no --with-oss=no --with-flac=no --with-amrnb=no --with-amrwb=no --with-mp3=no --with-wavpack=no --disable-dl-sndfile --with-pulseaudio=no --without-magic --prefix=${CMAKE_BINARY_DIR}/external/dist - BUILD_COMMAND $(MAKE) + BUILD_COMMAND $(MAKE) V=1 LIBS=${SNDFILE_LIB} INSTALL_COMMAND $(MAKE) install ) set(SOX_LIBRARIES ${CMAKE_BINARY_DIR}/external/dist/lib/libsox.a) if(UNIX) list(APPEND SOX_LIBRARIES ${ALSA_LIBRARIES} ${AO_LIBRARIES}) endif() +if(MINGW) + list(APPEND SOX_LIBRARIES winmm) +endif() include_directories(${CMAKE_BINARY_DIR}/external/dist/include) list(APPEND FREEDV_LINK_LIBS ${SOX_LIBRARIES}) -list(APPEND FREEDV_STATIC_DEPS sox) - -if(USE_STATIC_SNDFILE) - add_dependencies(sox sndfile) - list(APPEND FREEDV_LINK_LIBS ${SNDFILE_LIBRARIES}) -endif(USE_STATIC_SNDFILE) +list(APPEND FREEDV_STATIC_DEPS sox) \ No newline at end of file -- 2.25.1