1
0
mirror of https://github.com/cookiengineer/audacity synced 2025-06-16 16:10:06 +02:00

Use native CMakeLists.txt for portaudio

The same story as libexpat's one--native CMakeLists.txt does its job better
than the proxy. Also it seems to be able to otionally build with ASIO support
on Windows. And it successfully builds on linux, freebsd and osx.
This commit is contained in:
Vitaly Kirsanov 2019-03-20 09:33:35 +03:00 committed by James Crook
parent 80ca1dc5fc
commit 2b2c13520d
3 changed files with 8 additions and 150 deletions

View File

@ -33,7 +33,7 @@ add_subdirectory( "libvorbis" )
#add_subdirectory( "locale" ) #add_subdirectory( "locale" )
add_subdirectory( "lv2" ) add_subdirectory( "lv2" )
add_subdirectory( "mod-script-pipe" ) add_subdirectory( "mod-script-pipe" )
add_subdirectory( "portaudio-v19" ) add_subdirectory( "${LIB_SRC_DIRECTORY}portaudio-v19" "${CMAKE_CURRENT_BINARY_DIR}/portaudio-v19" EXCLUDE_FROM_ALL )
add_subdirectory( "portmidi" ) add_subdirectory( "portmidi" )
add_subdirectory( "portmixer" ) add_subdirectory( "portmixer" )
#add_subdirectory( "portburn" ) # not built #add_subdirectory( "portburn" ) # not built

View File

@ -1,142 +0,0 @@
#directory cmake-proxies/portaudio-v19
set( TARGET portaudio-v19 )
set( TARGET_SOURCE ${LIB_SRC_DIRECTORY}${TARGET} )
project( ${TARGET} )
set( SOURCES
#${LIB_SRC_DIRECTORY}portaudio-v19/bindings/java/c/src/com_portaudio_BlockingStream.c
#${LIB_SRC_DIRECTORY}portaudio-v19/bindings/java/c/src/com_portaudio_PortAudio.c
#${LIB_SRC_DIRECTORY}portaudio-v19/bindings/java/c/src/jpa_tools.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_mono_asio_channel_select.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_ocean_shore.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_pink.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_read_write_wire.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_record.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_record_file.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_saw.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_sine.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_wmme_ac3.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_wmme_surround.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_write_sine.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_write_sine_nonint.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/pa_devs.c
#${LIB_SRC_DIRECTORY}portaudio-v19/examples/pa_fuzz.c
#${LIB_SRC_DIRECTORY}portaudio-v19/pablio/pablio.c
#${LIB_SRC_DIRECTORY}portaudio-v19/pablio/test_rw.c
#${LIB_SRC_DIRECTORY}portaudio-v19/pablio/test_rw_echo.c
#${LIB_SRC_DIRECTORY}portaudio-v19/pablio/test_w_saw.c
#${LIB_SRC_DIRECTORY}portaudio-v19/pablio/test_w_saw8.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/paqa_devs.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/paqa_errs.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/paqa_latency.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/loopback/src/audio_analyzer.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/loopback/src/biquad_filter.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/loopback/src/paqa.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/loopback/src/paqa_tools.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/loopback/src/test_audio_analyzer.c
#${LIB_SRC_DIRECTORY}portaudio-v19/qa/loopback/src/write_wav.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_allocation.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_converters.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_cpuload.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_debugprint.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_dither.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_dynload.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_front.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_process.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_ringbuffer.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_stream.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/common/pa_trace.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/alsa/pa_linux_alsa.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/asihpi/pa_linux_asihpi.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/coreaudio/pa_mac_core.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/coreaudio/pa_mac_core_blocking.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/coreaudio/pa_mac_core_old.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/coreaudio/pa_mac_core_utilities.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/dsound/pa_win_ds.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/dsound/pa_win_ds_dynlink.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/jack/pa_jack.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/jack/pa_jack_dynload.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/oss/pa_unix_oss.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/oss/recplay.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/skeleton/pa_hostapi_skeleton.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/wasapi/pa_win_wasapi.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/wdmks/pa_win_wdmks.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/wmme/pa_win_wmme.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/os/unix/pa_unix_hostapis.c
#${LIB_SRC_DIRECTORY}portaudio-v19/src/os/unix/pa_unix_util.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/os/win/pa_win_coinitialize.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/os/win/pa_win_hostapis.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/os/win/pa_win_util.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/os/win/pa_win_waveformat.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/os/win/pa_win_wdmks_utils.c
${LIB_SRC_DIRECTORY}portaudio-v19/src/os/win/pa_x86_plain_converters.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest1.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_buffer.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_callbackstop.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_clip.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_converters.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_dither.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_dsound_find_best_latency_params.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_dsound_low_level_latency_params.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_dsound_surround.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_hang.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_in_overflow.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_jack_wasapi.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_latency.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_leftright.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_longsine.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_many.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_maxsines.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_mono.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_multi_sine.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_out_underflow.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_prime.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_read_record.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_ringmix.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_sine8.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_sine_channelmaps.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_sine_formats.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_sine_srate.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_sine_time.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_start_stop.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_stop.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_stop_playout.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_suggested_vs_streaminfo_latency.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_sync.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_timing.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_toomanysines.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_two_rates.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_underflow.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_wire.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_wmme_find_best_latency_params.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_wmme_low_level_latency_params.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/patest_write_stop.c
#${LIB_SRC_DIRECTORY}portaudio-v19/test/pa_minlat.c
##${LIB_SRC_DIRECTORY}portaudio-v19/examples/paex_sine_c++.cpp
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/asio/iasiothiscallresolver.cpp
#${LIB_SRC_DIRECTORY}portaudio-v19/src/hostapi/asio/pa_asio.cpp
)
# This defines the #define on both Windows and Linux.
add_definitions(
-D_LIB
)
add_library( ${TARGET} STATIC ${SOURCES})
#if(MSVC)
#FIX-ME What a horrible hacky place for a config file!
add_definitions(/FI"${top_dir}/win/Projects/${TARGET}/Debug/config.h")
#else()
# GCC or Clang
# add_definitions(-include ${top_dir}/win/Projects/${TARGET}/config.h)
#endif()
target_include_directories( ${TARGET} PRIVATE
${TARGET_SOURCE}/include
${TARGET_SOURCE}/src/common
${TARGET_SOURCE}/src/os/win
${TARGET_SOURCE}
)
target_link_libraries( ${TARGET} )

View File

@ -493,13 +493,13 @@ add_executable( Audacity ${SOURCE} )
message( STATUS "link directory is: ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Debug" ) message( STATUS "link directory is: ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Debug" )
message( STATUS "wxWidgets libraries in: ${wxWidgets_LIBRARIES}" ) message( STATUS "wxWidgets libraries in: ${wxWidgets_LIBRARIES}" )
target_link_libraries(Audacity target_link_libraries(Audacity
${wxWidgets_LIBRARIES} ${wxWidgets_LIBRARIES}
expat.lib expat
FileDialog.lib FileDialog
libsndfile.lib libsndfile
libsoxr.lib libsoxr
portaudio-v19.lib portaudio_static
) )
if(MSVC) if(MSVC)
set_property(TARGET Audacity APPEND PROPERTY LINK_FLAGS "/SUBSYSTEM:WINDOWS /LIBPATH:${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Debug") set_property(TARGET Audacity APPEND PROPERTY LINK_FLAGS "/SUBSYSTEM:WINDOWS /LIBPATH:${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/Debug")
@ -534,4 +534,4 @@ if (TARGET ${_unityTargetName})
message(STATUS "Audacity unity target: ${_unityTargetName}") message(STATUS "Audacity unity target: ${_unityTargetName}")
endif() endif()
]]# ]]#