|
|
|
#################################################
|
|
|
|
#
|
|
|
|
# (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 )
|
|
|
|
tde_save_and_set( CMAKE_REQUIRED_LIBRARIES "m" )
|
|
|
|
check_symbol_exists ( lrint "math.h" HAVE_LRINT )
|
|
|
|
check_symbol_exists ( lrintf "math.h" HAVE_LRINTF )
|
|
|
|
tde_restore( CMAKE_REQUIRED_LIBRARIES )
|
|
|
|
if( NOT HAVE_LRINT )
|
|
|
|
set( HAVE_LRINT 0 )
|
|
|
|
endif( NOT HAVE_LRINT )
|
|
|
|
if( NOT HAVE_LRINTF )
|
|
|
|
set( HAVE_LRINTF 0 )
|
|
|
|
endif( NOT 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 )
|