aboutsummaryrefslogtreecommitdiff
path: root/src/plugins/Output/oss4/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/Output/oss4/CMakeLists.txt')
-rw-r--r--src/plugins/Output/oss4/CMakeLists.txt97
1 files changed, 97 insertions, 0 deletions
diff --git a/src/plugins/Output/oss4/CMakeLists.txt b/src/plugins/Output/oss4/CMakeLists.txt
new file mode 100644
index 000000000..bcedcaada
--- /dev/null
+++ b/src/plugins/Output/oss4/CMakeLists.txt
@@ -0,0 +1,97 @@
+project(liboss4)
+
+cmake_minimum_required(VERSION 2.4.7)
+
+if(COMMAND cmake_policy)
+cmake_policy(SET CMP0003 NEW)
+endif(COMMAND cmake_policy)
+
+INCLUDE(CheckIncludeFile)
+INCLUDE(CheckCXXSourceCompiles)
+
+# qt plugin
+ADD_DEFINITIONS( -Wall )
+ADD_DEFINITIONS(${QT_DEFINITIONS})
+ADD_DEFINITIONS(-DQT_PLUGIN)
+ADD_DEFINITIONS(-DQT_NO_DEBUG)
+ADD_DEFINITIONS(-DQT_SHARED)
+ADD_DEFINITIONS(-DQT_THREAD)
+
+include_directories(${CMAKE_CURRENT_BINARY_DIR})
+
+SET(QT_INCLUDES
+ ${QT_INCLUDES}
+ ${CMAKE_CURRENT_SOURCE_DIR}/../../../
+)
+#oss4
+include_directories(/usr/lib/oss/include)
+CHECK_INCLUDE_FILE(sys/soundcard.h SYS_SOUNDCARD_H_FOUND)
+IF(SYS_SOUNDCARD_H_FOUND)
+ADD_DEFINITIONS(-DHAVE_SYS_SOUNDCARD_H)
+SET(CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_SOUNDCARD_H)
+ENDIF(SYS_SOUNDCARD_H_FOUND)
+
+
+SET(CMAKE_REQUIRED_INCLUDES /usr/lib/oss/include/ /usr/include/)
+
+CHECK_CXX_SOURCE_COMPILES("
+#include <unistd.h>
+#include <stdio.h>
+#include <stdlib.h>
+#ifdef HAVE_SYS_SOUNDCARD_H
+#include <sys/soundcard.h>
+#else
+#include <soundcard.h>
+#endif
+
+#if OSS_VERSION < 0x040000
+#error \\\"oss test failed\\\"
+#endif
+
+
+int main (int argc, char **argv)
+{
+ exit(0);
+}" OSS4_SUPPORT)
+
+IF(OSS4_SUPPORT)
+SET(OSS4_FOUND TRUE CACHE INTERNAL "oss4")
+ENDIF(OSS4_SUPPORT)
+
+
+# libqmmp
+include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../../)
+link_directories(${CMAKE_CURRENT_BINARY_DIR}/../../../qmmp)
+
+
+SET(liboss4_SRCS
+ outputoss4factory.cpp
+ outputoss4.cpp
+ settingsdialog.cpp
+)
+
+SET(liboss4_MOC_HDRS
+ outputoss4factory.h
+ outputoss4.h
+ settingsdialog.h
+)
+
+SET(liboss4_RCCS translations/translations.qrc)
+
+QT4_ADD_RESOURCES(liboss4_RCC_SRCS ${liboss4_RCCS})
+
+QT4_WRAP_CPP(liboss4_MOC_SRCS ${liboss4_MOC_HDRS})
+
+SET(liboss4_UIS
+ settingsdialog.ui
+)
+
+IF(OSS4_FOUND)
+QT4_WRAP_UI(liboss4_UIS_H ${liboss4_UIS})
+
+ADD_LIBRARY(oss4 MODULE ${liboss4_SRCS} ${liboss4_MOC_SRCS} ${liboss4_UIS_H}
+ ${liboss4_RCC_SRCS})
+add_dependencies(oss4 qmmp)
+target_link_libraries(oss4 ${QT_LIBRARIES} -lqmmp)
+install(TARGETS oss4 DESTINATION ${LIB_DIR}/qmmp/Output)
+ENDIF(OSS4_FOUND)