Merge pull request #635 from Be-ing/export_hostapi_defines
CMake: export compile definitions for host APIs
This commit is contained in:
commit
00a0143f59
|
@ -106,7 +106,8 @@ if(PA_USE_JACK)
|
|||
target_link_libraries(PortAudio PRIVATE JACK::jack)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/jack/pa_jack.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_jack.h)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_JACK=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_JACK=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_JACK=1")
|
||||
set(PKGCONFIG_REQUIRES_PRIVATE "${PKGCONFIG_REQUIRES_PRIVATE} jack")
|
||||
|
||||
# needed for PortAudioConfig.cmake so `find_package(PortAudio)` works in downstream projects
|
||||
|
@ -174,7 +175,8 @@ if(WIN32)
|
|||
if(PA_USE_ASIO AND TARGET ASIO::host)
|
||||
target_link_libraries(PortAudio PRIVATE ASIO::host)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_asio.h)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_ASIO=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_ASIO=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_ASIO=1")
|
||||
target_sources(PortAudio PRIVATE
|
||||
src/hostapi/asio/pa_asio.cpp
|
||||
src/hostapi/asio/iasiothiscallresolver.cpp
|
||||
|
@ -193,7 +195,8 @@ if(WIN32)
|
|||
)
|
||||
target_include_directories(PortAudio PRIVATE src/hostapi/dsound)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_ds.h)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_DS=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_DS=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_DS=1")
|
||||
target_link_libraries(PortAudio PRIVATE dsound)
|
||||
if(NOT MINGW)
|
||||
target_compile_definitions(PortAudio PRIVATE PAWIN_USE_DIRECTSOUNDFULLDUPLEXCREATE)
|
||||
|
@ -204,7 +207,8 @@ if(WIN32)
|
|||
if(PA_USE_WMME)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/wmme/pa_win_wmme.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_wmme.h)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_WMME=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_WMME=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_WMME=1")
|
||||
target_link_libraries(PortAudio PRIVATE ole32 uuid)
|
||||
else()
|
||||
set(DEF_EXCLUDE_WMME_SYMBOLS ";")
|
||||
|
@ -214,7 +218,8 @@ if(WIN32)
|
|||
if(PA_USE_WASAPI)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/wasapi/pa_win_wasapi.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_wasapi.h)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_WASAPI=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_WASAPI=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_WASAPI=1")
|
||||
target_link_libraries(PortAudio PRIVATE ole32 uuid)
|
||||
else()
|
||||
set(DEF_EXCLUDE_WASAPI_SYMBOLS ";")
|
||||
|
@ -227,7 +232,8 @@ if(WIN32)
|
|||
src/hostapi/wdmks/pa_win_wdmks.c
|
||||
)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_win_wdmks.h)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_WDMKS=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_WDMKS=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_WDMKS=1")
|
||||
target_link_libraries(PortAudio PRIVATE setupapi ole32 uuid)
|
||||
endif()
|
||||
|
||||
|
@ -276,7 +282,8 @@ elseif(UNIX)
|
|||
"${COREFOUNDATION_LIBRARY}"
|
||||
"${CORESERVICES_LIBRARY}"
|
||||
)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_COREAUDIO=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_COREAUDIO=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_COREAUDIO=1")
|
||||
set(PKGCONFIG_LDFLAGS_PRIVATE
|
||||
"${PKGCONFIG_LDFLAGS_PRIVATE} -framework CoreAudio -framework AudioToolbox -framework AudioUnit -framework CoreFoundation -framework CoreServices")
|
||||
else()
|
||||
|
@ -287,7 +294,8 @@ elseif(UNIX)
|
|||
target_link_libraries(PortAudio PRIVATE "${ALSA_LIBRARIES}")
|
||||
target_sources(PortAudio PRIVATE src/hostapi/alsa/pa_linux_alsa.c)
|
||||
set(PORTAUDIO_PUBLIC_HEADERS "${PORTAUDIO_PUBLIC_HEADERS}" include/pa_linux_alsa.h)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_ALSA=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_ALSA=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_ALSA=1")
|
||||
|
||||
option(PA_ALSA_DYNAMIC "Enable dynamically loading libasound with dlopen using PaAlsa_SetLibraryPathName" OFF)
|
||||
if(PA_ALSA_DYNAMIC)
|
||||
|
@ -306,7 +314,8 @@ elseif(UNIX)
|
|||
cmake_dependent_option(PA_USE_OSS "Enable support for OSS" OFF "OSS_FOUND" OFF)
|
||||
if(PA_USE_OSS)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/oss/pa_unix_oss.c)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_OSS=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_OSS=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_OSS=1")
|
||||
target_link_libraries(PortAudio PRIVATE OSS::oss)
|
||||
# The FindOSS.cmake module does not need to be installed like the JACK modules because it
|
||||
# does not link any library; it only adds an include directory and compile definition.
|
||||
|
@ -316,7 +325,8 @@ elseif(UNIX)
|
|||
cmake_dependent_option(AUDIOIO "Enable support for Solaris/NetBSD audio" ON "HAVE_SYS_AUDIOIO_H" AUDIOIO)
|
||||
if(AUDIOIO AND HAVE_SYS_AUDIOIO_H)
|
||||
target_sources(PortAudio PRIVATE src/hostapi/audioio/pa_unix_audioio.c)
|
||||
target_compile_definitions(PortAudio PRIVATE PA_USE_AUDIOIO=1)
|
||||
target_compile_definitions(PortAudio PUBLIC PA_USE_AUDIOIO=1)
|
||||
set(PKGCONFIG_CFLAGS "${PKGCONFIG_CFLAGS} -DPA_USE_AUDIOIO=1")
|
||||
endif()
|
||||
endif()
|
||||
endif()
|
||||
|
|
Loading…
Reference in New Issue