Fix static builds of sox and libsndfile.
authorhobbes1069 <hobbes1069@01035d8c-6547-0410-b346-abe4f91aad63>
Tue, 3 Mar 2015 16:03:57 +0000 (16:03 +0000)
committerhobbes1069 <hobbes1069@01035d8c-6547-0410-b346-abe4f91aad63>
Tue, 3 Mar 2015 16:03:57 +0000 (16:03 +0000)
git-svn-id: https://svn.code.sf.net/p/freetel/code@2049 01035d8c-6547-0410-b346-abe4f91aad63

fdmdv2/cmake/BuildSndfile.cmake
fdmdv2/cmake/BuildSox.cmake

index 91b48e3ed34ebffb8fecfd726274279f78609a25..2375c479598286d341caae4bd356e0adba0893c0 100644 (file)
@@ -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)
index 206f6d724304044267e020a3ac0086cd97f17a33..9d513e1665f72c5bd7e19b29bb9c706b34703281 100644 (file)
@@ -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