diff options
Diffstat (limited to 'build_files/cmake')
-rw-r--r-- | build_files/cmake/Modules/FindPulse.cmake | 60 | ||||
-rw-r--r-- | build_files/cmake/config/blender_full.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/config/blender_headless.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/config/blender_lite.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/config/blender_release.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/config/bpy_module.cmake | 1 | ||||
-rw-r--r-- | build_files/cmake/macros.cmake | 3 | ||||
-rw-r--r-- | build_files/cmake/platform/platform_unix.cmake | 8 |
8 files changed, 76 insertions, 0 deletions
diff --git a/build_files/cmake/Modules/FindPulse.cmake b/build_files/cmake/Modules/FindPulse.cmake new file mode 100644 index 00000000000..d5c37e7df10 --- /dev/null +++ b/build_files/cmake/Modules/FindPulse.cmake @@ -0,0 +1,60 @@ +# - Find PulseAudio library +# Find the native PulseAudio includes and library +# This module defines +# LIBPULSE_INCLUDE_DIRS, where to find pulse/pulseaudio.h, Set when +# LIBPULSE_INCLUDE_DIR is found. +# LIBPULSE_LIBRARIES, libraries to link against to use PulseAudio. +# LIBPULSE_ROOT_DIR, The base directory to search for PulseAudio. +# This can also be an environment variable. +# PULSE_FOUND, If false, do not try to use PulseAudio. +# +# also defined, but not for general use are +# LIBPULSE_LIBRARY, where to find the PulseAudio library. + +#============================================================================= +# Copyright 2021 Blender Foundation. +# +# Distributed under the OSI-approved BSD 3-Clause License, +# see accompanying file BSD-3-Clause-license.txt for details. +#============================================================================= + +# If LIBPULSE_ROOT_DIR was defined in the environment, use it. +IF(NOT LIBPULSE_ROOT_DIR AND NOT $ENV{LIBPULSE_ROOT_DIR} STREQUAL "") + SET(LIBPULSE_ROOT_DIR $ENV{LIBPULSE_ROOT_DIR}) +ENDIF() + +SET(_pulse_SEARCH_DIRS + ${LIBPULSE_ROOT_DIR} +) + +FIND_PATH(LIBPULSE_INCLUDE_DIR pulse/pulseaudio.h + HINTS + ${_pulse_SEARCH_DIRS} + PATH_SUFFIXES + include +) + +FIND_LIBRARY(LIBPULSE_LIBRARY + NAMES + pulse + HINTS + ${_pulse_SEARCH_DIRS} + PATH_SUFFIXES + lib64 lib + ) + +# handle the QUIETLY and REQUIRED arguments and set PULSE_FOUND to TRUE if +# all listed variables are TRUE +INCLUDE(FindPackageHandleStandardArgs) +FIND_PACKAGE_HANDLE_STANDARD_ARGS(Pulse DEFAULT_MSG + LIBPULSE_LIBRARY LIBPULSE_INCLUDE_DIR) + +IF(PULSE_FOUND) + SET(LIBPULSE_LIBRARIES ${LIBPULSE_LIBRARY}) + SET(LIBPULSE_INCLUDE_DIRS ${LIBPULSE_INCLUDE_DIR}) +ENDIF() + +MARK_AS_ADVANCED( + LIBPULSE_INCLUDE_DIR + LIBPULSE_LIBRARY +) diff --git a/build_files/cmake/config/blender_full.cmake b/build_files/cmake/config/blender_full.cmake index 75f78befb60..bfc390dc13b 100644 --- a/build_files/cmake/config/blender_full.cmake +++ b/build_files/cmake/config/blender_full.cmake @@ -65,6 +65,7 @@ endif() if(UNIX AND NOT APPLE) set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE) + set(WITH_PULSEAUDIO ON CACHE BOOL "" FORCE) set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE) set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE) endif() diff --git a/build_files/cmake/config/blender_headless.cmake b/build_files/cmake/config/blender_headless.cmake index 53163986b7a..761cb5b2d93 100644 --- a/build_files/cmake/config/blender_headless.cmake +++ b/build_files/cmake/config/blender_headless.cmake @@ -11,6 +11,7 @@ set(WITH_HEADLESS ON CACHE BOOL "" FORCE) # so the python module doesn't hold the audio device and loads quickly. set(WITH_AUDASPACE OFF CACHE BOOL "" FORCE) set(WITH_JACK OFF CACHE BOOL "" FORCE) +set(WITH_PULSEAUDIO OFF CACHE BOOL "" FORCE) set(WITH_SDL OFF CACHE BOOL "" FORCE) set(WITH_OPENAL OFF CACHE BOOL "" FORCE) set(WITH_CODEC_FFMPEG OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_lite.cmake b/build_files/cmake/config/blender_lite.cmake index 680734aba6e..76666b1215d 100644 --- a/build_files/cmake/config/blender_lite.cmake +++ b/build_files/cmake/config/blender_lite.cmake @@ -54,6 +54,7 @@ set(WITH_OPENSUBDIV OFF CACHE BOOL "" FORCE) set(WITH_OPENVDB OFF CACHE BOOL "" FORCE) set(WITH_POTRACE OFF CACHE BOOL "" FORCE) set(WITH_PUGIXML OFF CACHE BOOL "" FORCE) +set(WITH_PULSEAUDIO OFF CACHE BOOL "" FORCE) set(WITH_NANOVDB OFF CACHE BOOL "" FORCE) set(WITH_QUADRIFLOW OFF CACHE BOOL "" FORCE) set(WITH_SDL OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/config/blender_release.cmake b/build_files/cmake/config/blender_release.cmake index 973d6cdb34e..67d34b5edb2 100644 --- a/build_files/cmake/config/blender_release.cmake +++ b/build_files/cmake/config/blender_release.cmake @@ -69,6 +69,7 @@ endif() if(UNIX AND NOT APPLE) set(WITH_DOC_MANPAGE ON CACHE BOOL "" FORCE) set(WITH_GHOST_XDND ON CACHE BOOL "" FORCE) + set(WITH_PULSEAUDIO ON CACHE BOOL "" FORCE) set(WITH_X11_XINPUT ON CACHE BOOL "" FORCE) set(WITH_X11_XF86VMODE ON CACHE BOOL "" FORCE) endif() diff --git a/build_files/cmake/config/bpy_module.cmake b/build_files/cmake/config/bpy_module.cmake index 7fc68f97f29..b0daed2a4c0 100644 --- a/build_files/cmake/config/bpy_module.cmake +++ b/build_files/cmake/config/bpy_module.cmake @@ -16,6 +16,7 @@ set(WITH_PYTHON_INSTALL OFF CACHE BOOL "" FORCE) # so the python module doesn't hold the audio device and loads quickly. set(WITH_AUDASPACE OFF CACHE BOOL "" FORCE) set(WITH_JACK OFF CACHE BOOL "" FORCE) +set(WITH_PULSEAUDIO OFF CACHE BOOL "" FORCE) set(WITH_SDL OFF CACHE BOOL "" FORCE) set(WITH_OPENAL OFF CACHE BOOL "" FORCE) set(WITH_CODEC_FFMPEG OFF CACHE BOOL "" FORCE) diff --git a/build_files/cmake/macros.cmake b/build_files/cmake/macros.cmake index cad1d86b75a..813ac013cdf 100644 --- a/build_files/cmake/macros.cmake +++ b/build_files/cmake/macros.cmake @@ -569,6 +569,9 @@ function(SETUP_LIBDIRS) if(WITH_JACK AND NOT WITH_JACK_DYNLOAD) link_directories(${JACK_LIBPATH}) endif() + if(WITH_PULSEAUDIO AND NOT WITH_PULSEAUDIO_DYNLOAD) + link_directories(${LIBPULSE_LIBPATH}) + endif() if(WITH_CODEC_SNDFILE) link_directories(${LIBSNDFILE_LIBPATH}) endif() diff --git a/build_files/cmake/platform/platform_unix.cmake b/build_files/cmake/platform/platform_unix.cmake index 47c788c7eb6..7791112c6ab 100644 --- a/build_files/cmake/platform/platform_unix.cmake +++ b/build_files/cmake/platform/platform_unix.cmake @@ -552,6 +552,14 @@ if(WITH_JACK) endif() endif() +# Pulse is intended to use the system library. +if(WITH_PULSEAUDIO) + find_package_wrapper(Pulse) + if(NOT PULSE_FOUND) + set(WITH_PULSEAUDIO OFF) + endif() +endif() + # Audio IO if(WITH_SYSTEM_AUDASPACE) find_package_wrapper(Audaspace) |