summaryrefslogtreecommitdiffstats
path: root/kscd/libwm
diff options
context:
space:
mode:
Diffstat (limited to 'kscd/libwm')
-rw-r--r--kscd/libwm/CMakeLists.txt38
-rw-r--r--kscd/libwm/ConfigureChecks.cmake69
-rw-r--r--kscd/libwm/audio/CMakeLists.txt32
3 files changed, 139 insertions, 0 deletions
diff --git a/kscd/libwm/CMakeLists.txt b/kscd/libwm/CMakeLists.txt
new file mode 100644
index 00000000..e40ac76e
--- /dev/null
+++ b/kscd/libwm/CMakeLists.txt
@@ -0,0 +1,38 @@
+#################################################
+#
+# (C) 2017 Slávek Banko
+# slavek (DOT) banko (AT) axis.cz
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+include( ConfigureChecks.cmake )
+
+add_subdirectory( audio )
+
+include_directories(
+ ${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_BINARY_DIR}
+ ${TQT_INCLUDE_DIRS}
+ ${TDE_INCLUDE_DIR}
+)
+
+
+##### workman (library) #########################
+
+tde_add_library( workman STATIC_PIC
+ SOURCES
+ cddb.c cdinfo.c cdrom.c wm_helpers.c cdtext.c
+ database.c index.c scsi.c cdda.c plat_linux_cdda.c plat_sun_cdda.c
+ plat_aix.c plat_bsd386.c plat_freebsd.c plat_hpux.c plat_irix.c
+ plat_linux.c plat_svr4.c plat_ultrix.c plat_news.c plat_openbsd.c
+ plat_osf1.c plat_sun.c plat_scor5.c
+ drv_sony.c drv_toshiba.c
+ EMBED
+ workmanaudio-static
+ LINK
+ pthread
+)
diff --git a/kscd/libwm/ConfigureChecks.cmake b/kscd/libwm/ConfigureChecks.cmake
new file mode 100644
index 00000000..31ce9815
--- /dev/null
+++ b/kscd/libwm/ConfigureChecks.cmake
@@ -0,0 +1,69 @@
+#################################################
+#
+# (C) 2017 Slávek Banko
+# slavek (DOT) banko (AT) axis.cz
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+if( WITH_KSCD_CDDA AND NOT BUILD_CDDA )
+
+ if( "${CMAKE_SYSTEM_NAME}" MATCHES "Linux" )
+
+ check_include_file( pthread.h HAVE_PTHREAD_H )
+ check_c_source_compiles( "
+#ifndef __GNUC__
+#define __GNUC__ 1
+#endif
+/* needed for vanilla kernel headers, which do provide __u64 only
+ for ansi */
+#undef __STRICT_ANSI__
+/* needed for non-ansi kernel headers */
+#define asm __asm__
+#define inline __inline__
+#include <linux/types.h>
+#include <linux/cdrom.h>
+#undef asm
+#undef inline
+
+int main() {
+ #if defined(__linux__)
+ ioctl(1, CDROMREADAUDIO, 0);
+ #else
+ #error platform?
+ #endif
+}"
+ BUILD_CDDA )
+ if( NOT BUILD_CDDA )
+ tde_message_fatal( "cdda support is requested, but not avaiable on your system" )
+ endif( NOT BUILD_CDDA )
+
+ elseif( ${CMAKE_SYSTEM_NAME} MATCHES "SunOS" )
+
+ check_include_file( pthread.h HAVE_PTHREAD_H )
+ check_c_source_compiles( "
+#include <sys/types.h>
+#include <sys/cdio.h>
+
+int main() {
+ #if defined(__sun) || defined(sun)
+ ioctl(1, CDROMCDDA, 0);
+ #else
+ #error platform?
+ #endif
+}"
+ BUILD_CDDA )
+ if( NOT BUILD_CDDA )
+ tde_message_fatal( "cdda support is requested, but not avaiable on your system" )
+ endif( NOT BUILD_CDDA )
+
+ else( )
+
+ message( STATUS "Checking cdda support - not available on this system type" )
+
+ endif( )
+
+endif( WITH_KSCD_CDDA AND NOT BUILD_CDDA )
diff --git a/kscd/libwm/audio/CMakeLists.txt b/kscd/libwm/audio/CMakeLists.txt
new file mode 100644
index 00000000..1fa51fab
--- /dev/null
+++ b/kscd/libwm/audio/CMakeLists.txt
@@ -0,0 +1,32 @@
+#################################################
+#
+# (C) 2017 Slávek Banko
+# slavek (DOT) banko (AT) axis.cz
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+include_directories(
+ ${CMAKE_BINARY_DIR}
+ ${ARTSC_INCLUDE_DIRS}
+ ${TQT_INCLUDE_DIRS}
+ ${TDE_INCLUDE_DIR}
+)
+
+link_directories(
+ ${TQT_LIBRARY_DIRS}
+ ${ARTSC_LIBRARY_DIRS}
+)
+
+
+##### workmanaudio (library) ####################
+
+tde_add_library( workmanaudio STATIC_PIC
+ SOURCES
+ audio.c audio_alsa.c audio_arts.c audio_sun.c
+ LINK
+ ${ARTSC_LIBRARIES}
+)