mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-06-09 09:34:57 +09:00

The goal here is to ensure we check for audio backends in a way that makes sense. On macOS, let's just always use Audio Unit (and thus avoid any checks for Pulse, to reduce needless/confusing build log noise). We will also only use the Qt audio backend if no other backend was found, rather than only checking for Pulse.
63 lines
2.3 KiB
CMake
63 lines
2.3 KiB
CMake
include(audio)
|
|
|
|
set(SOURCES
|
|
ConnectionFromClient.cpp
|
|
ConsoleGlobalEnvironmentExtensions.cpp
|
|
BackingStoreManager.cpp
|
|
PageClient.cpp
|
|
PageHost.cpp
|
|
WebContentConsoleClient.cpp
|
|
WebDriverConnection.cpp
|
|
)
|
|
|
|
if (ANDROID)
|
|
add_library(webcontentservice SHARED
|
|
${LADYBIRD_SOURCE_DIR}/UI/Android/src/main/cpp/WebContentService.cpp
|
|
${LADYBIRD_SOURCE_DIR}/UI/Android/src/main/cpp/WebContentServiceJNI.cpp
|
|
${LADYBIRD_SOURCE_DIR}/UI/Android/src/main/cpp/LadybirdServiceBaseJNI.cpp
|
|
${LADYBIRD_SOURCE_DIR}/UI/Android/src/main/cpp/JNIHelpers.cpp
|
|
${SOURCES}
|
|
)
|
|
target_link_libraries(webcontentservice PRIVATE android)
|
|
else()
|
|
add_library(webcontentservice STATIC ${SOURCES})
|
|
set_target_properties(webcontentservice PROPERTIES AUTOMOC OFF AUTORCC OFF AUTOUIC OFF)
|
|
endif()
|
|
|
|
target_include_directories(webcontentservice PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}/../..>)
|
|
target_include_directories(webcontentservice PUBLIC $<BUILD_INTERFACE:${LADYBIRD_SOURCE_DIR}>)
|
|
target_include_directories(webcontentservice PUBLIC $<BUILD_INTERFACE:${LADYBIRD_SOURCE_DIR}/Services/>)
|
|
|
|
target_link_libraries(webcontentservice PUBLIC LibCore LibFileSystem LibGfx LibIPC LibJS LibMain LibMedia LibWeb LibWebSocket LibRequests LibWebView LibImageDecoderClient LibGC)
|
|
|
|
if (ENABLE_QT)
|
|
qt_add_executable(WebContent main.cpp)
|
|
target_link_libraries(WebContent PRIVATE Qt::Core)
|
|
target_compile_definitions(WebContent PRIVATE HAVE_QT=1)
|
|
|
|
if (NOT DEFINED LADYBIRD_AUDIO_BACKEND)
|
|
find_package(Qt6 REQUIRED COMPONENTS Multimedia)
|
|
|
|
target_sources(WebContent PRIVATE
|
|
${LADYBIRD_SOURCE_DIR}/UI/Qt/AudioCodecPluginQt.cpp
|
|
${LADYBIRD_SOURCE_DIR}/UI/Qt/AudioThread.cpp
|
|
)
|
|
|
|
target_link_libraries(WebContent PRIVATE Qt::Multimedia)
|
|
target_compile_definitions(WebContent PRIVATE HAVE_QT_MULTIMEDIA=1)
|
|
endif()
|
|
else()
|
|
add_executable(WebContent main.cpp)
|
|
endif()
|
|
|
|
target_link_libraries(WebContent PRIVATE webcontentservice LibURL)
|
|
|
|
target_sources(webcontentservice PUBLIC FILE_SET server TYPE HEADERS
|
|
BASE_DIRS ${LADYBIRD_SOURCE_DIR}/Services
|
|
FILES ConnectionFromClient.h
|
|
ConsoleGlobalEnvironmentExtensions.h
|
|
Forward.h
|
|
PageHost.h
|
|
WebContentConsoleClient.h
|
|
WebDriverConnection.h
|
|
)
|