Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin framework #3743

Merged
merged 2 commits into from Apr 16, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
3 changes: 2 additions & 1 deletion .ci/azure-pipelines/install-environment_linux.bash
Expand Up @@ -14,4 +14,5 @@ sudo apt-get -y install build-essential g++-multilib ninja-build pkg-config \
libasound2-dev libasound2-plugins libasound2-plugins-extra\
libogg-dev libsndfile1-dev libspeechd-dev \
libavahi-compat-libdnssd-dev libzeroc-ice-dev \
zsync appstream libgrpc++-dev protobuf-compiler-grpc
zsync appstream libgrpc++-dev protobuf-compiler-grpc \
libpoco-dev
2 changes: 1 addition & 1 deletion .cirrus.yml
Expand Up @@ -8,7 +8,7 @@ freebsd_instance:
freebsd_task:
pkg_script:
- pkg update && pkg upgrade -y
- pkg install -y git ninja pkgconf cmake qt5-buildtools qt5-qmake qt5-linguisttools qt5-concurrent qt5-network qt5-xml qt5-sql qt5-svg qt5-testlib boost-libs libsndfile protobuf ice avahi-libdns grpc
- pkg install -y git ninja pkgconf cmake qt5-buildtools qt5-qmake qt5-linguisttools qt5-concurrent qt5-network qt5-xml qt5-sql qt5-svg qt5-testlib boost-libs libsndfile protobuf ice avahi-libdns grpc poco
fetch_submodules_script: git submodule --quiet update --init --recursive
build_script:
- mkdir build && cd build
Expand Down
Expand Up @@ -29,4 +29,5 @@ sudo apt -y install \
zsync \
appstream \
libgrpc++-dev \
protobuf-compiler-grpc
protobuf-compiler-grpc \
libpoco-dev
1 change: 1 addition & 0 deletions CMakeLists.txt
Expand Up @@ -30,6 +30,7 @@ project(Mumble
)

set(3RDPARTY_DIR "${CMAKE_SOURCE_DIR}/3rdparty")
set(PLUGINS_DIR "${CMAKE_SOURCE_DIR}/plugins")

set(CMAKE_CXX_STANDARD 14)
set(CMAKE_OSX_DEPLOYMENT_TARGET 10.9)
Expand Down
10 changes: 10 additions & 0 deletions docs/dev/build-instructions/cmake_options.md
Expand Up @@ -149,6 +149,16 @@ Build 32 bit overlay library, necessary for the overlay to work with 32 bit proc
Build package.
(Default: OFF)

### plugin-callback-debug

Build Mumble with debug output for plugin callbacks inside of Mumble.
(Default: OFF)

### plugin-debug

Build Mumble with debug output for plugin developers.
(Default: OFF)

### plugins

Build plugins.
Expand Down
5 changes: 5 additions & 0 deletions plugins/CMakeLists.txt
Expand Up @@ -30,6 +30,11 @@ foreach(ITEM ${ITEMS})
# PLUGIN_RETRACTED variable in the parent scope so that we can access it here
add_subdirectory(${ITEM})

if(${ITEM} STREQUAL "testPlugin" AND NOT ${CMAKE_BUILD_TYPE} MATCHES Debug)
# The testPlugin is only included in Debug builds
continue()
endif()

if(PLUGIN_RETRACTED AND NOT retracted-plugins)
# The included subdir didn't actually add a target since the associated plugin is retracted
# and therefore it should not be built.
Expand Down
2 changes: 1 addition & 1 deletion plugins/HostLinux.cpp
Expand Up @@ -5,7 +5,7 @@

#include "HostLinux.h"

#include "mumble_plugin_utils.h"
#include "mumble_positional_audio_utils.h"

#include <cstring>
#include <sstream>
Expand Down
2 changes: 1 addition & 1 deletion plugins/HostWindows.cpp
Expand Up @@ -5,7 +5,7 @@

#include "HostWindows.h"

#include "mumble_plugin_utils.h"
#include "mumble_positional_audio_utils.h"

#include <windows.h>
#include <tlhelp32.h>
Expand Down
492 changes: 492 additions & 0 deletions plugins/MumbleAPI_v_1_0_x.h

Large diffs are not rendered by default.

402 changes: 402 additions & 0 deletions plugins/MumblePlugin_v_1_0_x.h

Large diffs are not rendered by default.