diff --git a/CMakeLists.txt b/CMakeLists.txt --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -35,15 +35,12 @@ set_package_properties(Canberra PROPERTIES PURPOSE "Needed to preview notification sounds" TYPE OPTIONAL) -if (Canberra_FOUND) - add_definitions(-DHAVE_CANBERRA) -else() +if (NOT Canberra_FOUND) # This is REQUIRED since you cannot tell CMake "either one of those two optional ones are required" find_package(Phonon4Qt5 4.6.60 NO_MODULE REQUIRED) set_package_properties(Phonon4Qt5 PROPERTIES DESCRIPTION "Qt-based audio library" PURPOSE "Needed to preview notification sounds when Canberra isn't available") - add_definitions(-DHAVE_PHONON4QT5) endif() # Includes diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -1,3 +1,4 @@ +set(HAVE_CANBERRA ${Canberra_FOUND}) set(HAVE_PHONON ${Phonon4Qt5_FOUND}) configure_file(knotify-config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/knotify-config.h ) diff --git a/src/knotify-config.h.cmake b/src/knotify-config.h.cmake --- a/src/knotify-config.h.cmake +++ b/src/knotify-config.h.cmake @@ -1,6 +1,7 @@ #ifndef KNOTIFY_CONFIG_H #define KNOTIFY_CONFIG_H +#cmakedefine HAVE_CANBERRA #cmakedefine HAVE_PHONON #endif /* KNOTIFY_CONFIG_H */ diff --git a/src/knotifyconfigactionswidget.h b/src/knotifyconfigactionswidget.h --- a/src/knotifyconfigactionswidget.h +++ b/src/knotifyconfigactionswidget.h @@ -22,6 +22,7 @@ #include #include "ui_knotifyconfigactionswidgetbase.h" +#include "knotify-config.h" #ifdef HAVE_CANBERRA struct ca_context; diff --git a/src/knotifyconfigactionswidget.cpp b/src/knotifyconfigactionswidget.cpp --- a/src/knotifyconfigactionswidget.cpp +++ b/src/knotifyconfigactionswidget.cpp @@ -21,8 +21,6 @@ #include #include -#include "knotify-config.h" - #if defined(HAVE_CANBERRA) #include #elif defined(HAVE_PHONON) @@ -71,7 +69,7 @@ KNotifyConfigActionsWidget::~KNotifyConfigActionsWidget() { -#ifdef HAVE_CANBERRA +#if defined(HAVE_CANBERRA) if (m_context) { ca_context_destroy(m_context); }