diff options
Diffstat (limited to 'kscd/libwm')
-rw-r--r-- | kscd/libwm/CMakeLists.txt | 38 | ||||
-rw-r--r-- | kscd/libwm/ConfigureChecks.cmake | 69 | ||||
-rw-r--r-- | kscd/libwm/audio/CMakeLists.txt | 32 |
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} +) |