summaryrefslogtreecommitdiffstats
path: root/ConfigureChecks.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'ConfigureChecks.cmake')
-rw-r--r--ConfigureChecks.cmake239
1 files changed, 239 insertions, 0 deletions
diff --git a/ConfigureChecks.cmake b/ConfigureChecks.cmake
new file mode 100644
index 0000000..3f31313
--- /dev/null
+++ b/ConfigureChecks.cmake
@@ -0,0 +1,239 @@
+#################################################
+#
+# (C) 2016 Golubev Alexander
+# fatzer2 (AT) gmail.com
+#
+# Improvements and feedback are welcome
+#
+# This file is released under GPL >= 2
+#
+#################################################
+
+##### check for gcc visibility support #########
+# FIXME
+# This should check for [T]Qt3 visibility support
+
+if( WITH_GCC_VISIBILITY )
+ if( NOT UNIX )
+ tde_message_fatal(FATAL_ERROR "\ngcc visibility support was requested, but your system is not *NIX" )
+ endif( NOT UNIX )
+ set( __KDE_HAVE_GCC_VISIBILITY 1 )
+ set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
+ set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
+endif( WITH_GCC_VISIBILITY )
+
+tde_setup_architecture_flags( )
+
+# Check system configuration
+check_include_file ( "iconv.h" HAVE_ICONV_H )
+check_include_file ( "endian.h" HAVE_ENDIAN_H )
+check_include_file ( "sys/endian.h" HAVE_SYS_ENDIAN_H )
+check_include_file ( "sys/statvfs.h" HAVE_SYS_STATVFS_H )
+check_include_file ( "sys/vfs.h" HAVE_SYS_VFS_H )
+check_include_file ( "byteswap.h" HAVE_BYTESWAP_H )
+check_include_file ( "stdint.h" HAVE_STDINT_H )
+check_symbol_exists ( lrint "math.h" HAVE_LRINT )
+check_symbol_exists ( lrintf "math.h" HAVE_LRINTF )
+check_symbol_exists ( stat64 "sys/types.h;sys/stat.h;unistd.h" HAVE_STAT64 )
+
+##### k3bsetup ##################################
+
+if ( WITH_K3BSETUP )
+ set ( HAVE_K3BSETUP 1 )
+endif ( )
+
+
+##### k3b_debug #################################
+
+if ( WITH_DEBUG )
+ set ( K3B_DEBUG 1 )
+endif ( )
+
+
+##### libdvdread ################################
+
+if ( WITH_LIBDVDREAD )
+ pkg_search_module ( LIBDVDREAD dvdread REQUIRED )
+ if ( LIBDVDREAD_FOUND )
+ set ( HAVE_LIBDVDREAD 1 )
+ else ( )
+ tde_message_fatal( "libdvdread is required, but was not found on your system" )
+ endif ( )
+endif ( )
+
+
+##### musicbrainz ###############################
+
+if ( WITH_MUSICBRAINZ )
+ pkg_search_module ( MUSICBRAINZ libmusicbrainz )
+ if ( MUSICBRAINZ_FOUND )
+ set ( HAVE_MUSICBRAINZ 1 )
+ else ( )
+ tde_message_fatal( "musicbrainz is required, but was not found on your system" )
+ endif ( )
+endif ( )
+
+
+##### libsamplerate #############################
+
+if ( WITH_SYSTEM_LIBSAMPLERATE )
+ pkg_search_module ( LIBSAMPLERATE samplerate )
+ if ( LIBSAMPLERATE_FOUND )
+ set ( HAVE_LIBSAMPLERATE 1 )
+ else ( )
+ tde_message_fatal( "libsamplerate is required, but was not found on your system" )
+ endif ( )
+endif ( )
+
+
+##### hal #######################################
+
+if( WITH_HAL )
+ pkg_search_module( HAL hal )
+ if( HAL_FOUND )
+ set ( HAVE_HAL 1 )
+ else ( )
+ tde_message_fatal( "hal is required, but was not found on your system" )
+ endif( )
+endif( )
+
+##### arts ######################################
+
+if( WITH_ARTS )
+ pkg_search_module( ARTS arts )
+ if( NOT ARTS_FOUND )
+ tde_message_fatal( "aRts is requested, but was not found on your system" )
+ endif( )
+endif( )
+
+##### check for ALSA ############################
+
+if( WITH_ALSA )
+ find_package( ALSA )
+ if( NOT ALSA_FOUND )
+ message(FATAL_ERROR "\nALSA support is requested, but was not found on your system" )
+ endif( NOT ALSA_FOUND )
+endif( WITH_ALSA )
+
+
+##### ffmpeg ####################################
+
+if( WITH_FFMPEG )
+ pkg_search_module( LIBAVCODEC libavcodec )
+ pkg_search_module( LIBAVFORMAT libavformat )
+ pkg_search_module( LIBAVUTIL libavutil )
+ # TODO chech if avutil required on all systems
+ if( NOT LIBAVCODEC_FOUND )
+ tde_message_fatal( "ffmpeg is requested, but libavcodec was not found on your system" )
+ elseif( NOT LIBAVFORMAT_FOUND )
+ tde_message_fatal( "ffmpeg is requested, but libavformat was not found on your system" )
+ else( )
+ if( WITH_FFMPEG_ALL_CODECS )
+ set( K3B_FFMPEG_ALL_CODECS 1 )
+ endif( )
+ endif( )
+endif( )
+
+
+##### flac ######################################
+
+if( WITH_FLAC )
+ pkg_search_module( FLAC flac++ )
+ if( NOT FLAC_FOUND )
+ tde_message_fatal( "flac is requested, but was not found on your system" )
+ endif( )
+endif( )
+
+##### sndfile ###################################
+
+if( WITH_SNDFILE )
+ pkg_search_module( SNDFILE sndfile )
+ if( NOT SNDFILE_FOUND )
+ tde_message_fatal( "sndfile is requested, but was not found on your system" )
+ endif( )
+endif( )
+
+##### taglib ####################################
+
+if( WITH_TAGLIB )
+ pkg_search_module( TAGLIB taglib )
+ if( NOT TAGLIB_FOUND )
+ tde_message_fatal( "taglib is requested, but was not found on your system" )
+ endif( )
+endif( )
+
+
+##### mad #######################################
+
+if( WITH_MAD )
+ pkg_search_module( MAD mad )
+ if( NOT MAD_FOUND )
+ tde_message_fatal( "mad is requested, but was not found on your system" )
+ endif( )
+endif( )
+
+
+##### musepack ##################################
+
+if( WITH_MUSEPACK )
+
+ check_library_exists ( mpcdec mpc_decoder_setup "" MPCDEC_FOUND )
+
+ # check common include locations
+ foreach ( _mpc_dir "mpc" "musepack" "mpcdec" )
+ check_include_file( "${_mpc_dir}/mpcdec.h" ${_mpc_dir}_MPCDEC_H_FOUND )
+ if ( ${${_mpc_dir}_MPCDEC_H_FOUND} )
+ set( MPCDEC_HEADER_FILE "<${_mpc_dir}/mpcdec.h>" CACHE INTERNAL
+ "mpcdec.h header file with an upper level directory")
+ break( )
+ endif( )
+ endforeach( )
+
+ if( NOT MPCDEC_FOUND OR NOT MPCDEC_HEADER_FILE )
+ tde_message_fatal( "musepack is requested, but mpcdec was not found on your system" )
+ endif( )
+endif( )
+
+
+##### vorbis ####################################
+
+if( WITH_VORBIS )
+ pkg_search_module( VORBIS vorbis )
+ pkg_search_module( VORBISFILE vorbisfile )
+ pkg_search_module( VORBISENC vorbisenc )
+ pkg_search_module( OGG ogg )
+ if( NOT VORBIS_FOUND )
+ tde_message_fatal( "vorbis is requested, but was not found on your system" )
+ elseif( NOT VORBISFILE_FOUND OR NOT VORBISENC_FOUND OR NOT OGG_FOUND )
+ tde_message_fatal( "vorbis is requested, but some of it's essential parts wasn't found on your system" )
+ endif( )
+endif( )
+
+
+##### lame ######################################
+
+if( WITH_LAME )
+ check_library_exists ( mp3lame lame_init "" LAME_FOUND )
+ check_include_file( "lame/lame.h" LAME_H_FOUND )
+ if( NOT LAME_FOUND OR NOT LAME_H_FOUND )
+ tde_message_fatal( "lame is requested, but was not found on your system" )
+ endif( )
+endif( )
+
+
+# # gettext
+# if( BUILD_TRANSLATIONS )
+# include( FindGettext )
+# if( GETTEXT_FOUND )
+# set( MSGFMT_EXECUTABLE ${GETTEXT_MSGFMT_EXECUTABLE}
+# CACHE FILEPATH "path to msgfmt executable" )
+# endif( GETTEXT_FOUND )
+#
+# if( NOT MSGFMT_EXECUTABLE )
+# tde_message_fatal( "msgfmt is required but was not found on your system." )
+# endif( NOT MSGFMT_EXECUTABLE )
+# endif( BUILD_TRANSLATIONS )
+
+# required stuff
+find_package( TQt )
+find_package( TDE )