Skip to content

Commit 7aa9124

Browse files
committed
Use CMake find_package to locate PortAudio when not building toolchain
1 parent 70586e3 commit 7aa9124

3 files changed

Lines changed: 41 additions & 48 deletions

File tree

Library/TeamTalkLib/build/portaudio.cmake

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11

22
if (TOOLCHAIN_PORTAUDIO)
3-
set (PORTAUDIO_LINK_FLAGS portaudio)
4-
3+
set (PORTAUDIO_LINK_FLAGS PortAudio::portaudio)
54
else()
65

76
# Ubuntu: portaudio19-dev

Library/TeamTalkLib/build/portaudio/CMakeLists.txt

Lines changed: 40 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ include(ExternalProject)
66
# PortAudio
77
##################################################
88

9-
set (TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO ${TOOLCHAIN_INSTALL_PREFIX}/portaudio)
9+
set (TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO})
1010

1111
if (MSVC)
1212
if (TOOLCHAIN_BUILD_EXTERNALPROJECTS)
@@ -24,23 +24,22 @@ if (MSVC)
2424
INSTALL_COMMAND ${CMAKE_COMMAND} --build . --target install --config Debug
2525
COMMAND ${CMAKE_COMMAND} --build . --target install --config Release
2626
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/${CMAKE_VS_PLATFORM_NAME}/portaudiod.lib
27-
<INSTALL_DIR>/lib/${CMAKE_VS_PLATFORM_NAME}/portaudio.lib
27+
<INSTALL_DIR>/lib/${CMAKE_VS_PLATFORM_NAME}/portaudio.lib
2828
)
2929
ExternalProject_Get_Property(portaudio-src INSTALL_DIR)
30+
31+
add_library(PortAudio::portaudio STATIC IMPORTED GLOBAL)
32+
add_dependencies(PortAudio::portaudio portaudio-src)
3033
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
34+
target_include_directories (PortAudio::portaudio INTERFACE ${INSTALL_DIR}/include)
35+
set_target_properties(PortAudio::portaudio PROPERTIES
36+
IMPORTED_LOCATION_DEBUG ${INSTALL_DIR}/lib/portaudiod.lib
37+
IMPORTED_LOCATION ${INSTALL_DIR}/lib/portaudio.lib)
3138
else()
32-
set (INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO})
39+
set (PortAudio_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO}/lib/cmake/portaudio)
40+
find_package(PortAudio REQUIRED)
3341
endif()
3442

35-
add_library(portaudio STATIC IMPORTED GLOBAL)
36-
if (TOOLCHAIN_BUILD_EXTERNALPROJECTS)
37-
add_dependencies(portaudio portaudio-src)
38-
endif()
39-
target_include_directories (portaudio INTERFACE ${INSTALL_DIR}/include)
40-
set_target_properties(portaudio PROPERTIES
41-
IMPORTED_LOCATION_DEBUG ${INSTALL_DIR}/lib/portaudiod.lib
42-
IMPORTED_LOCATION ${INSTALL_DIR}/lib/portaudio.lib)
43-
4443
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
4544

4645
if (TOOLCHAIN_BUILD_EXTERNALPROJECTS)
@@ -50,30 +49,28 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
5049
GIT_TAG 213c048
5150
UPDATE_COMMAND ""
5251
PREFIX ${TOOLCHAIN_BUILD_PREFIX}/portaudio
53-
INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX}/portaudio
52+
INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO}
5453
CMAKE_ARGS -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET} -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_OSX_ARCHITECTURES=${ARCHS} -DCMAKE_BUILD_TYPE=release -DPA_BUILD_SHARED_LIBS=OFF
5554
BUILD_COMMAND ${CMAKE_COMMAND} --build .
5655
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libportaudio.a
5756
)
5857
ExternalProject_Get_Property(portaudio-src INSTALL_DIR)
58+
59+
add_library(PortAudio::portaudio STATIC IMPORTED GLOBAL)
60+
add_dependencies(PortAudio::portaudio portaudio-src)
5961
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
62+
target_include_directories (PortAudio::portaudio INTERFACE ${INSTALL_DIR}/include)
63+
set_target_properties(PortAudio::portaudio PROPERTIES
64+
IMPORTED_LOCATION ${INSTALL_DIR}/lib/libportaudio.a)
65+
find_library (AUDIOTOOLBOX_LIBRARY AudioToolBox)
66+
find_library (AUDIOUNIT_LIBRARY AudioUnit)
67+
find_library (CARBON_LIBRARY Carbon)
68+
find_library (COREAUDIO_LIBRARY CoreAudio)
69+
target_link_libraries(PortAudio::portaudio INTERFACE ${CARBON_LIBRARY} ${AUDIOUNIT_LIBRARY} ${COREAUDIO_LIBRARY} ${AUDIOTOOLBOX_LIBRARY})
6070
else()
61-
set (INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO})
62-
endif()
63-
64-
find_library (AUDIOTOOLBOX_LIBRARY AudioToolBox)
65-
find_library (AUDIOUNIT_LIBRARY AudioUnit)
66-
find_library (CARBON_LIBRARY Carbon)
67-
find_library (COREAUDIO_LIBRARY CoreAudio)
68-
69-
add_library(portaudio STATIC IMPORTED GLOBAL)
70-
if (TOOLCHAIN_BUILD_EXTERNALPROJECTS)
71-
add_dependencies(portaudio portaudio-src)
71+
set (PortAudio_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO}/lib/cmake/portaudio)
72+
find_package(PortAudio REQUIRED)
7273
endif()
73-
target_include_directories (portaudio INTERFACE ${INSTALL_DIR}/include)
74-
set_target_properties(portaudio PROPERTIES
75-
IMPORTED_LOCATION ${INSTALL_DIR}/lib/libportaudio.a)
76-
target_link_libraries(portaudio INTERFACE ${CARBON_LIBRARY} ${AUDIOUNIT_LIBRARY} ${COREAUDIO_LIBRARY} ${AUDIOTOOLBOX_LIBRARY})
7774

7875
elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
7976

@@ -83,30 +80,28 @@ elseif (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
8380
GIT_TAG 213c048
8481
UPDATE_COMMAND ""
8582
PREFIX ${TOOLCHAIN_BUILD_PREFIX}/portaudio
86-
INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX}/portaudio
83+
INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO}
8784
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DPA_USE_ALSA=ON -DPA_USE_PULSEAUDIO=ON -DPA_USE_JACK=OFF -DPA_USE_OSS=OFF -DCMAKE_POSITION_INDEPENDENT_CODE=ON -DPA_BUILD_SHARED_LIBS=OFF
8885
BUILD_COMMAND ${CMAKE_COMMAND} --build .
8986
BUILD_BYPRODUCTS <INSTALL_DIR>/lib/libportaudio.a
9087
)
9188
ExternalProject_Get_Property(portaudio-src INSTALL_DIR)
89+
90+
add_library(PortAudio::portaudio STATIC IMPORTED GLOBAL)
91+
add_dependencies(PortAudio::portaudio portaudio-src)
9292
file(MAKE_DIRECTORY ${INSTALL_DIR}/include)
93-
else()
94-
set (INSTALL_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO})
95-
endif()
93+
target_include_directories (PortAudio::portaudio INTERFACE ${INSTALL_DIR}/include)
94+
set_target_properties(PortAudio::portaudio PROPERTIES
95+
IMPORTED_LOCATION ${INSTALL_DIR}/lib/libportaudio.a)
96+
# Ubuntu: libasound2-dev
97+
find_library(ASOUND_LIBRARY asound)
98+
# Ubuntu: libpulse-dev
99+
find_library(PULSE_LIBRARY pulse)
100+
target_link_libraries(PortAudio::portaudio INTERFACE ${ASOUND_LIBRARY} ${PULSE_LIBRARY})
96101

97-
add_library(portaudio STATIC IMPORTED GLOBAL)
98-
if (TOOLCHAIN_BUILD_EXTERNALPROJECTS)
99-
add_dependencies(portaudio portaudio-src)
102+
else()
103+
set (PortAudio_DIR ${TOOLCHAIN_INSTALL_PREFIX_PORTAUDIO}/lib/cmake/portaudio)
104+
find_package(PortAudio REQUIRED)
100105
endif()
101106

102-
# Ubuntu: libasound2-dev
103-
find_library(ASOUND_LIBRARY asound)
104-
# Ubuntu: libpulse-dev
105-
find_library(PULSE_LIBRARY pulse)
106-
107-
target_include_directories (portaudio INTERFACE ${INSTALL_DIR}/include)
108-
set_target_properties(portaudio PROPERTIES
109-
IMPORTED_LOCATION ${INSTALL_DIR}/lib/libportaudio.a)
110-
target_link_libraries(portaudio INTERFACE ${ASOUND_LIBRARY} ${PULSE_LIBRARY})
111-
112107
endif()

Library/TeamTalkLib/build/sndsys.cmake

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@ endif()
2121
if (FEATURE_PORTAUDIO)
2222

2323
include (portaudio)
24-
list (APPEND SOUNDSYS_INCLUDE_DIR ${PORTAUDIO_INCLUDE_DIR})
2524
list (APPEND SOUNDSYS_LINK_FLAGS ${PORTAUDIO_LINK_FLAGS})
2625
set (SOUNDSYS_COMPILE_FLAGS -DENABLE_PORTAUDIO)
2726

0 commit comments

Comments
 (0)