summaryrefslogtreecommitdiffstats
path: root/kscd/libwm/ConfigureChecks.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'kscd/libwm/ConfigureChecks.cmake')
-rw-r--r--kscd/libwm/ConfigureChecks.cmake69
1 files changed, 69 insertions, 0 deletions
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 )