git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/dependencies/arts@1182851 283d02a7-25f6-0310-bc7c-ecb5cbfe19dav3.5.13-sru
parent
3a7fbece07
commit
36bb41f5be
@ -0,0 +1,213 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
cmake_minimum_required( VERSION 2.6 )
|
||||
|
||||
|
||||
##### project settings ##########################
|
||||
|
||||
project( arts )
|
||||
|
||||
set( ARTS_MAJOR_VERSION 1 )
|
||||
set( ARTS_MINOR_VERSION 5 )
|
||||
set( ARTS_MICRO_VERSION 10 )
|
||||
set( ARTS_VERSION "${ARTS_MAJOR_VERSION}.${ARTS_MINOR_VERSION}.${ARTS_MICRO_VERSION}" )
|
||||
|
||||
|
||||
##### user requested options ####################
|
||||
|
||||
option( WITH_ALSA "Enable ALSA support" ON )
|
||||
option( WITH_AUDIOFILE "Enable audiofile (wav) support" ON )
|
||||
option( WITH_VORBIS "Enable Ogg/Vorbis support" ON )
|
||||
option( WITH_MAD "Enable MAD mp3 decoder support" ON )
|
||||
|
||||
|
||||
##### paths setup ###############################
|
||||
|
||||
if( NOT BIN_INSTALL_DIR )
|
||||
set( BIN_INSTALL_DIR bin )
|
||||
endif ( NOT BIN_INSTALL_DIR )
|
||||
|
||||
if( NOT LIB_INSTALL_DIR )
|
||||
set( LIB_INSTALL_DIR lib )
|
||||
endif( NOT LIB_INSTALL_DIR )
|
||||
|
||||
if( NOT INCLUDE_INSTALL_DIR )
|
||||
set( INCLUDE_INSTALL_DIR include/${CMAKE_PROJECT_NAME} )
|
||||
endif( NOT INCLUDE_INSTALL_DIR )
|
||||
|
||||
if( NOT PKGCONFIG_INSTALL_DIR )
|
||||
set( PKGCONFIG_INSTALL_DIR lib/pkgconfig )
|
||||
endif( NOT PKGCONFIG_INSTALL_DIR )
|
||||
|
||||
|
||||
##### check for include files ###################
|
||||
|
||||
include( CheckIncludeFile )
|
||||
|
||||
check_include_file( "sys/time.h" HAVE_SYS_TIME_H )
|
||||
check_include_file( "time.h" TIME_WITH_SYS_TIME )
|
||||
check_include_file( "stdio.h" HAVE_STDIO_H )
|
||||
check_include_file( "stdlib.h" HAVE_STDLIB_H )
|
||||
check_include_file( "string.h" HAVE_STRING_H )
|
||||
check_include_file( "strings.h" HAVE_STRINGS_H )
|
||||
check_include_file( "ctype.h" HAVE_CTYPE_H )
|
||||
check_include_file( "malloc.h" HAVE_MALLOC_H )
|
||||
check_include_file( "memory.h" HAVE_MEMORY_H )
|
||||
check_include_file( "dlfcn.h" HAVE_DLFCN_H )
|
||||
|
||||
|
||||
##### check for system libraries ################
|
||||
|
||||
include( CheckLibraryExists )
|
||||
|
||||
set( DL_LIBRARIES dl )
|
||||
check_library_exists( ${DL_LIBRARIES} dlopen /lib HAVE_LIBDL )
|
||||
if( NOT HAVE_LIBDL )
|
||||
unset( DL_LIBRARIES )
|
||||
endif( NOT HAVE_LIBDL )
|
||||
|
||||
find_package( Threads )
|
||||
|
||||
##### check for functions #######################
|
||||
|
||||
include( CheckFunctionExists )
|
||||
|
||||
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
|
||||
set( CMAKE_REQUIRED_LIBRARIES dl )
|
||||
check_function_exists( dlerror HAVE_DLERROR )
|
||||
check_function_exists( strcmp HAVE_STRCMP )
|
||||
check_function_exists( strchr HAVE_STRCHR )
|
||||
check_function_exists( index HAVE_INDEX )
|
||||
check_function_exists( strrchr HAVE_STRRCHR )
|
||||
check_function_exists( rindex HAVE_RINDEX )
|
||||
check_function_exists( memcpy HAVE_MEMCPY )
|
||||
check_function_exists( bcopy HAVE_BCOPY )
|
||||
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
|
||||
unset( bak_CMAKE_REQUIRED_LIBRARIES )
|
||||
|
||||
|
||||
##### check for modules #########################
|
||||
|
||||
include( FindPkgConfig )
|
||||
|
||||
|
||||
##### check for audiofile #######################
|
||||
|
||||
set( HAVE_LIBAUDIOFILE 0 )
|
||||
if( WITH_AUDIOFILE )
|
||||
|
||||
pkg_search_module( AUDIOFILE audiofile )
|
||||
if( AUDIOFILE_FOUND )
|
||||
set( HAVE_LIBAUDIOFILE 1 )
|
||||
else( AUDIOFILE_FOUND )
|
||||
message(FATAL_ERROR "\naudiofile (wav) support are requested, but `libaudiofile` not found" )
|
||||
endif( AUDIOFILE_FOUND )
|
||||
|
||||
endif( WITH_AUDIOFILE )
|
||||
|
||||
|
||||
##### check for alsa ############################
|
||||
|
||||
set( HAVE_LIBASOUND2 0 )
|
||||
if( WITH_ALSA )
|
||||
|
||||
find_package( ALSA )
|
||||
|
||||
if( ALSA_FOUND )
|
||||
|
||||
# there is support only for ALSA 1.x
|
||||
|
||||
set( HAVE_LIBASOUND2 1 )
|
||||
set( ALSA_PCM_OLD_SW_PARAMS_API 1 )
|
||||
set( ALSA_PCM_OLD_HW_PARAMS_API 1 )
|
||||
|
||||
check_include_file( "alsa/asoundlib.h" HAVE_ALSA_ASOUNDLIB_H )
|
||||
if( NOT HAVE_ALSA_ASOUNDLIB_H )
|
||||
check_include_file( "sys/asoundlib.h" HAVE_SYS_ASOUNDLIB_H )
|
||||
endif( NOT HAVE_ALSA_ASOUNDLIB_H )
|
||||
|
||||
set( bak_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} )
|
||||
set( CMAKE_REQUIRED_LIBRARIES ${ALSA_LIBRARIES} )
|
||||
check_function_exists( snd_pcm_resume HAVE_SND_PCM_RESUME )
|
||||
set( CMAKE_REQUIRED_LIBRARIES ${bak_CMAKE_REQUIRED_LIBRARIES} )
|
||||
unset( bak_CMAKE_REQUIRED_LIBRARIES )
|
||||
|
||||
else( ALSA_FOUND )
|
||||
|
||||
message(FATAL_ERROR "\nALSA support are requested, but not found on your system" )
|
||||
|
||||
endif( ALSA_FOUND )
|
||||
|
||||
endif( WITH_ALSA )
|
||||
|
||||
|
||||
##### check for glib/gthread modules ############
|
||||
|
||||
pkg_search_module( GLIB2 glib-2.0 )
|
||||
|
||||
if( GLIB2_FOUND )
|
||||
pkg_search_module( GTHREAD2 gthread-2.0 )
|
||||
if( NOT GTHREAD2_FOUND )
|
||||
message(FATAL_ERROR "\ngthread-2.0 are required, but not found on your system" )
|
||||
endif( NOT GTHREAD2_FOUND )
|
||||
else( GLIB2_FOUND )
|
||||
message(FATAL_ERROR "\nglib-2.0 are required, but not found on your system" )
|
||||
endif( GLIB2_FOUND )
|
||||
|
||||
|
||||
##### check for Qt3 #############################
|
||||
|
||||
find_package( Qt3 )
|
||||
if( NOT QT_FOUND )
|
||||
message(FATAL_ERROR "\nQt3 are required, but not found on your system" )
|
||||
endif( NOT QT_FOUND )
|
||||
|
||||
|
||||
##### check for TQt #############################
|
||||
|
||||
pkg_search_module( TQT TQt )
|
||||
if( NOT TQT_FOUND )
|
||||
message(FATAL_ERROR "\nTQt are required, but not found on your system" )
|
||||
endif( NOT TQT_FOUND )
|
||||
|
||||
|
||||
##### write config.h file #######################
|
||||
|
||||
configure_file( config.h.cmake config.h @ONLY )
|
||||
|
||||
|
||||
##### write pkgconfig file ######################
|
||||
|
||||
configure_file( arts.pc.cmake arts.pc @ONLY )
|
||||
install( FILES ${CMAKE_CURRENT_BINARY_DIR}/arts.pc DESTINATION ${PKGCONFIG_INSTALL_DIR} )
|
||||
|
||||
|
||||
##### global compiler settings ##################
|
||||
|
||||
add_definitions(
|
||||
-DHAVE_CONFIG_H
|
||||
)
|
||||
|
||||
set( CMAKE_SHARED_LINKER_FLAGS "-Wl,--no-undefined" )
|
||||
|
||||
|
||||
##### project subdirectories ####################
|
||||
|
||||
add_subdirectory( libltdl )
|
||||
add_subdirectory( mcop )
|
||||
add_subdirectory( mcopidl )
|
||||
add_subdirectory( flow )
|
||||
add_subdirectory( mcop_mt )
|
||||
add_subdirectory( soundserver )
|
||||
add_subdirectory( artsc )
|
||||
add_subdirectory( gmcop )
|
||||
add_subdirectory( qtmcop )
|
@ -0,0 +1,10 @@
|
||||
prefix=@CMAKE_INSTALL_PREFIX@
|
||||
exec_prefix=${prefix}
|
||||
libdir=${prefix}/@LIB_INSTALL_DIR@
|
||||
includedir=${prefix}/@INCLUDE_INSTALL_DIR@
|
||||
|
||||
Name: arts
|
||||
Description: Soundserver for the K Desktop Environment (KDE)
|
||||
Version: @ARTS_VERSION@
|
||||
Libs: -L${libdir}
|
||||
Cflags: -I${includedir}
|
@ -0,0 +1,103 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
##### variables for artsc-config ################
|
||||
|
||||
set( prefix ${CMAKE_INSTALL_PREFIX} )
|
||||
set( exec_prefix $prefix )
|
||||
set( libdir $prefix/${LIB_INSTALL_DIR} )
|
||||
set( includedir ${prefix}/${INCLUDE_INSTALL_DIR} )
|
||||
set( LIBDL -l${DL_LIBRARIES} )
|
||||
set( USE_THREADS )
|
||||
set( LIBPTHREAD ${CMAKE_THREAD_LIBS_INIT} )
|
||||
foreach( LIB ${GTHREAD2_LIBRARIES} )
|
||||
set( GLIB_LDFLAGS "${GLIB_LDFLAGS} -l${LIB}" )
|
||||
endforeach(LIB)
|
||||
set( GLIB_LIBADD )
|
||||
foreach( INC ${GTHREAD2_INCLUDE_DIRS} )
|
||||
set( GLIB_CFLAGS "${GLIB_CFLAGS} -I${INC}" )
|
||||
endforeach(INC)
|
||||
|
||||
configure_file( artsc-config.in artsc-config @ONLY )
|
||||
configure_file( artsc_export.h.in artsc_export.h @ONLY )
|
||||
|
||||
set( FLOWLIBS artsflow )
|
||||
|
||||
set( artsc_INCS
|
||||
artsc.h
|
||||
artsc_export.h
|
||||
)
|
||||
|
||||
add_definitions(
|
||||
-DCOMPILING_ARTSC
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR} # for artsc_export.h
|
||||
${CMAKE_BINARY_DIR}/mcop # for arts_export.h
|
||||
${CMAKE_SOURCE_DIR}/mcop # for common.h
|
||||
${CMAKE_BINARY_DIR}/flow # for artsflow.h
|
||||
${CMAKE_SOURCE_DIR}/flow # for stdsynthmodule.h
|
||||
${CMAKE_BINARY_DIR}/soundserver # for soundserver.h
|
||||
)
|
||||
|
||||
##### libartsdsp ################################
|
||||
|
||||
set( artsdsp_SRCS
|
||||
artsdsp.c
|
||||
)
|
||||
|
||||
add_library( artsdsp SHARED ${artsdsp_SRCS} )
|
||||
set_target_properties( artsdsp PROPERTIES VERSION 0.0 SOVERSION 0 )
|
||||
target_link_libraries( artsdsp artsc )
|
||||
|
||||
|
||||
##### libartsdsp_st #############################
|
||||
|
||||
set( artsdsp_st_SRCS
|
||||
artsc.c
|
||||
artsdsp.c
|
||||
)
|
||||
|
||||
add_library( artsdsp_st SHARED ${artsdsp_st_SRCS} )
|
||||
set_target_properties( artsdsp_st PROPERTIES VERSION 0.0 SOVERSION 0 )
|
||||
set_target_properties( artsdsp_st PROPERTIES COMPILE_FLAGS -DARTSC_BACKEND=\\"$(libdir)/libartscbackend.la\\" )
|
||||
target_link_libraries( artsdsp_st ltdlc )
|
||||
|
||||
|
||||
##### libartsc ##################################
|
||||
|
||||
set( artsc_SRCS
|
||||
artsc.c
|
||||
)
|
||||
|
||||
add_library( artsc SHARED ${artsc_SRCS} )
|
||||
set_target_properties( artsc PROPERTIES VERSION 0.0 SOVERSION 0 )
|
||||
set_target_properties( artsc PROPERTIES COMPILE_FLAGS -DARTSC_BACKEND=\\"$(libdir)/libartscbackend.la\\" )
|
||||
target_link_libraries( artsc ltdlc ${LIBPTHREAD} )
|
||||
|
||||
|
||||
##### libartscbackend ###########################
|
||||
|
||||
set( artscbackend_SRCS
|
||||
artscbackend.cc
|
||||
)
|
||||
|
||||
add_library( artscbackend SHARED ${artscbackend_SRCS} )
|
||||
set_target_properties( artscbackend PROPERTIES VERSION 0.0 SOVERSION 0 )
|
||||
target_link_libraries( artscbackend ${FLOWLIBS} soundserver_idl )
|
||||
|
||||
|
||||
##### install ###################################
|
||||
|
||||
#install( FILES ${artsc_INCS} DESTINATION ${INCLUDE_INSTALL_DIR} )
|
||||
install( PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/artsc-config DESTINATION ${BIN_INSTALL_DIR} )
|
||||
install( TARGETS artsdsp artsdsp_st artsc artscbackend LIBRARY DESTINATION ${LIB_INSTALL_DIR} )
|
@ -0,0 +1,29 @@
|
||||
#cmakedefine HAVE_SYS_TIME_H 1
|
||||
#cmakedefine TIME_WITH_SYS_TIME 1
|
||||
#cmakedefine HAVE_STDIO_H 1
|
||||
#cmakedefine HAVE_STDLIB_H 1
|
||||
#cmakedefine HAVE_STRING_H 1
|
||||
#cmakedefine HAVE_STRINGS_H 1
|
||||
#cmakedefine HAVE_CTYPE_H 1
|
||||
#cmakedefine HAVE_MALLOC_H 1
|
||||
#cmakedefine HAVE_MEMORY_H 1
|
||||
#cmakedefine HAVE_DLFCN_H 1
|
||||
|
||||
#cmakedefine HAVE_LIBDL 1
|
||||
|
||||
#cmakedefine HAVE_DLERROR 1
|
||||
#cmakedefine HAVE_STRCMP 1
|
||||
#cmakedefine HAVE_STRCHR 1
|
||||
#cmakedefine HAVE_INDEX 1
|
||||
#cmakedefine HAVE_STRRCHR 1
|
||||
#cmakedefine HAVE_RINDEX 1
|
||||
#cmakedefine HAVE_MEMCPY 1
|
||||
#cmakedefine HAVE_BCOPY 1
|
||||
|
||||
#cmakedefine HAVE_LIBAUDIOFILE 1
|
||||
|
||||
#cmakedefine HAVE_LIBASOUND2 1
|
||||
#cmakedefine HAVE_ALSA_ASOUNDLIB_H 1
|
||||
#cmakedefine HAVE_SND_PCM_RESUME 1
|
||||
#cmakedefine ALSA_PCM_OLD_SW_PARAMS_API 1
|
||||
#cmakedefine ALSA_PCM_OLD_HW_PARAMS_API 1
|
@ -0,0 +1,124 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
add_subdirectory( mcopclass )
|
||||
add_subdirectory( gsl )
|
||||
add_subdirectory( gslpp )
|
||||
|
||||
set( artsflow_INCS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/artsflow.h
|
||||
audiosubsys.h
|
||||
cache.h
|
||||
cachedwav.h
|
||||
convert.h
|
||||
pipebuffer.h
|
||||
stdsynthmodule.h
|
||||
synthschedule.h
|
||||
fft.h
|
||||
artsflow.idl
|
||||
audioio.h
|
||||
resample.h
|
||||
cpuinfo.h
|
||||
bufferqueue.h
|
||||
gslschedule.h
|
||||
)
|
||||
|
||||
set( artsflow_SRCS
|
||||
synth_play_impl.cc
|
||||
gslschedule.cc
|
||||
audiosubsys.cc
|
||||
pipebuffer.cc
|
||||
convert.cc
|
||||
synth_wave_sin_impl.cc
|
||||
synth_frequency_impl.cc
|
||||
synth_multi_add_impl.cc
|
||||
synth_add_impl.cc
|
||||
synth_mul_impl.cc
|
||||
synth_play_wav_impl.cc
|
||||
stdsynthmodule.cc
|
||||
cache.cc
|
||||
asyncschedule.cc
|
||||
bytestreamtoaudio_impl.cc
|
||||
stereovolumecontrol_impl.cc
|
||||
stereoeffectstack_impl.cc
|
||||
fft.c
|
||||
stereofftscope_impl.cc
|
||||
virtualports.cc
|
||||
bus.cc
|
||||
audiomanager_impl.cc
|
||||
synth_record_impl.cc
|
||||
resample.cc
|
||||
audioio.cc
|
||||
audioiooss.cc
|
||||
audioioalsa.cc
|
||||
audioioalsa9.cc
|
||||
audioionull.cc
|
||||
audioiolibaudioio.cc
|
||||
audioioesd.cc
|
||||
audioiojack.cc
|
||||
audioiosun.cc
|
||||
audioioaix.cc
|
||||
audioionas.cc
|
||||
cpuinfo.cc
|
||||
audioioossthreaded.cc
|
||||
audiotobytestream_impl.cc
|
||||
audioiosgi.cc
|
||||
audioiocsl.cc
|
||||
audioiomas.cc
|
||||
datahandle_impl.cc
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR} # for config.h
|
||||
${CMAKE_BINARY_DIR}/mcop # for arts_export.h
|
||||
${CMAKE_SOURCE_DIR}/mcop # for common.h
|
||||
${CMAKE_CURRENT_BINARY_DIR} # for gsl/gslconfig.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR} # for gsl/gsldefs.h
|
||||
${GLIB2_INCLUDE_DIRS} # for glib.h
|
||||
)
|
||||
|
||||
add_definitions(
|
||||
-DHAVE_CONFIG_H
|
||||
)
|
||||
|
||||
##### artsflow_idl
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT artsflow.cc
|
||||
COMMAND ../mcopidl/mcopidl
|
||||
ARGS -t ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/artsflow.idl
|
||||
)
|
||||
|
||||
set( artsflow_idl_SRCS artsflow.cc )
|
||||
add_library( artsflow_idl SHARED ${artsflow_idl_SRCS} )
|
||||
set_target_properties( artsflow_idl PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( artsflow_idl mcop ${ALSA_LIBRARY} )
|
||||
add_dependencies( artsflow_idl mcopidl )
|
||||
|
||||
##### artsflow
|
||||
|
||||
add_library( artsflow SHARED ${artsflow_SRCS} )
|
||||
set_target_properties( artsflow PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
|
||||
target_link_libraries( artsflow
|
||||
artsflow_idl
|
||||
mcop
|
||||
gslpp
|
||||
gsl
|
||||
${AUDIOFILE_LIBRARIES}
|
||||
)
|
||||
|
||||
|
||||
|
||||
##### install ###################################
|
||||
|
||||
install( FILES ${artsflow_INCS} DESTINATION ${INCLUDE_INSTALL_DIR} )
|
||||
install( TARGETS artsflow_idl artsflow LIBRARY DESTINATION ${LIB_INSTALL_DIR} )
|
@ -0,0 +1,161 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
##### check for ogg/vorbis ######################
|
||||
|
||||
set( GSL_HAVE_OGGVORBIS 0 )
|
||||
if( WITH_VORBIS )
|
||||
|
||||
pkg_search_module( VORBIS vorbis )
|
||||
|
||||
if( VORBIS_FOUND )
|
||||
|
||||
pkg_search_module( VORBISFILE vorbisfile )
|
||||
|
||||
if( VORBISFILE_FOUND )
|
||||
|
||||
set( GSL_HAVE_OGGVORBIS 1 )
|
||||
|
||||
try_compile(
|
||||
GSL_HAVE_OGGVORBIS_RC3
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/check_for_ov_read_float.c
|
||||
CMAKE_FLAGS "-DLINK_LIBRARIES=${VORBISFILE_LIBRARIES}"
|
||||
)
|
||||
else( VORBISFILE_FOUND )
|
||||
|
||||
message(FATAL_ERROR "\nOgg/Vorbis support are requested, but `libvorbisfile` not found" )
|
||||
|
||||
endif( VORBISFILE_FOUND )
|
||||
|
||||
else( VORBIS_FOUND )
|
||||
|
||||
message(FATAL_ERROR "\nOgg/Vorbis support are requested, but `libvorbis` but found" )
|
||||
|
||||
endif( VORBIS_FOUND )
|
||||
|
||||
endif( WITH_VORBIS )
|
||||
|
||||
|
||||
##### check for libmad MPEG decoder #############
|
||||
|
||||
set( GSL_HAVE_LIBMAD 0 )
|
||||
if( WITH_MAD )
|
||||
|
||||
pkg_search_module( MAD mad )
|
||||
|
||||
if( MAD_FOUND )
|
||||
set( GSL_HAVE_LIBMAD 1 )
|
||||
else( MAD_FOUND )
|
||||
message(FATAL_ERROR "\nMAD support are requested, but `libmad` not found" )
|
||||
endif( MAD_FOUND )
|
||||
|
||||
endif( WITH_MAD )
|
||||
|
||||
|
||||
##### check for some type sizes #################
|
||||
|
||||
include( CheckTypeSize )
|
||||
|
||||
check_type_size( pthread_mutex_t GSL_SIZEOF_PTH_MUTEX_T )
|
||||
check_type_size( pthread_cond_t GSL_SIZEOF_PTH_COND_T )
|
||||
check_type_size( intmax_t GSL_SIZEOF_STD_INTMAX_T )
|
||||
|
||||
try_compile(
|
||||
GSL_HAVE_MUTEXATTR_SETTYPE
|
||||
${CMAKE_CURRENT_BINARY_DIR}
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/CMakeModules/check_for_pthread_mutexattr_settype.c
|
||||
CMAKE_FLAGS "-DLINK_LIBRARIES=${CMAKE_THREAD_LIBS_INIT}"
|
||||
)
|
||||
|
||||
set( GSL_USE_GSL_GLIB 1 )
|
||||
set( GSL_USE_ARTS_THREADS 1 )
|
||||
|
||||
|
||||
##### write configuration #######################
|
||||
|
||||
configure_file( gslconfig.h.in gslconfig.h )
|
||||
|
||||
|
||||
##### compile ###################################
|
||||
|
||||
set( gsl_INCS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/gslconfig.h
|
||||
gslcommon.h
|
||||
gsldatacache.h
|
||||
gsldatahandle.h
|
||||
gsldefs.h
|
||||
gslloader.h
|
||||
gslmath.h
|
||||
gslfilter.h
|
||||
gsldatautils.h
|
||||
gsldatahandle-vorbis.h
|
||||
gslconvert.h
|
||||
gslfft.h
|
||||
gslieee754.h
|
||||
gslsignal.h
|
||||
gslmagic.h
|
||||
gslengine.h
|
||||
gslwaveosc.h
|
||||
gslwavechunk.h
|
||||
gsldatahandle-mad.h
|
||||
gslosctable.h
|
||||
gsloscillator.h
|
||||
)
|
||||
|
||||
set( gsl_SRCS
|
||||
gsldatacache.c
|
||||
gsldatahandle.c
|
||||
gslwavechunk.c
|
||||
gsldatahandle-vorbis.c
|
||||
gslmath.c
|
||||
gslfilter.c
|
||||
gslcommon.c
|
||||
gsldatautils.c
|
||||
gslmagic.c
|
||||
gslloader-wav.c
|
||||
gslloader-gslwave.c
|
||||
gslloader-mad.c
|
||||
gslloader-oggvorbis.c
|
||||
gslconvert.c
|
||||
gslfft.c
|
||||
gslsignal.c
|
||||
gslloader.c
|
||||
gslwaveosc.c
|
||||
gslengine.c
|
||||
gsloputil.c
|
||||
gslopmaster.c
|
||||
gslopschedule.c
|
||||
gsldatahandle-mad.c
|
||||
gslosctable.c
|
||||
gsloscillator.c
|
||||
gslfilehash.c
|
||||
gslartsthreads.cc
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}
|
||||
${CMAKE_BINARY_DIR}/mcop
|
||||
${CMAKE_SOURCE_DIR}/mcop # for thread.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/.. # for gsl/gslconfig.h
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/.. # for gsl/gslcommon.h
|
||||
${GLIB2_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library( gsl STATIC ${gsl_SRCS} )
|
||||
set_target_properties( gsl PROPERTIES COMPILE_FLAGS -fPIC )
|
||||
target_link_libraries( gsl ${GLIB2_LIBRARIES} ${GTHREAD2_LIBRARIES} ${VORBISFILE_LIBRARIES} ${MAD_LIBRARIES} )
|
||||
|
||||
|
||||
##### install ###################################
|
||||
|
||||
install( FILES ${gsl_INCS} DESTINATION ${INCLUDE_INSTALL_DIR}/gsl )
|
||||
|
@ -0,0 +1,24 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR}/..
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/..
|
||||
${CMAKE_BINARY_DIR}/mcop
|
||||
${GLIB2_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
set( gslpp_SRCS
|
||||
datahandle.cpp
|
||||
)
|
||||
|
||||
add_library( gslpp STATIC ${gslpp_SRCS} )
|
||||
set_target_properties( gslpp PROPERTIES COMPILE_FLAGS -fPIC)
|
@ -0,0 +1,34 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
set( gmcop_INCS
|
||||
giomanager.h
|
||||
)
|
||||
|
||||
set( gmcop_SRCS
|
||||
giomanager.cc
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}/mcop # for arts_export.h
|
||||
${CMAKE_SOURCE_DIR}/mcop # for iomanager.h, etc.
|
||||
${GLIB2_INCLUDE_DIRS}
|
||||
)
|
||||
|
||||
add_library( gmcop SHARED ${gmcop_SRCS} )
|
||||
set_target_properties( gmcop PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( gmcop mcop ${GLIB2_LIBRARIES} )
|
||||
|
||||
|
||||
##### install ###################################
|
||||
|
||||
install( FILES ${gmcop_INCS} DESTINATION ${INCLUDE_INSTALL_DIR} )
|
||||
install(TARGETS gmcop LIBRARY DESTINATION ${LIB_INSTALL_DIR} )
|
@ -0,0 +1,123 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
set( mcop_INCS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/arts_export.h
|
||||
buffer.h
|
||||
common.h
|
||||
connection.h
|
||||
core.h
|
||||
dispatcher.h
|
||||
factory.h
|
||||
flowsystem.h
|
||||
idlfilereg.h
|
||||
ifacerepo_impl.h
|
||||
iomanager.h
|
||||
mcoputils.h
|
||||
object.h
|
||||
objectmanager.h
|
||||
pool.h
|
||||
socketconnection.h
|
||||
startupmanager.h
|
||||
tcpconnection.h
|
||||
tcpserver.h
|
||||
type.h
|
||||
unixconnection.h
|
||||
unixserver.h
|
||||
referenceclean.h
|
||||
datapacket.h
|
||||
asyncstream.h
|
||||
notification.h
|
||||
extensionloader.h
|
||||
mcopconfig.h
|
||||
connect.h
|
||||
reference.h
|
||||
weakreference.h
|
||||
dynamicrequest.h
|
||||
anyref.h
|
||||
debug.h
|
||||
delayedreturn.h
|
||||
dynamicskeleton.h
|
||||
thread.h
|
||||
core.idl
|
||||
)
|
||||
|
||||
set( mcop_SRCS
|
||||
buffer.cc
|
||||
connection.cc
|
||||
core.cc
|
||||
debug.cc
|
||||
dispatcher.cc
|
||||
iomanager.cc
|
||||
object.cc
|
||||
socketconnection.cc
|
||||
tcpconnection.cc
|
||||
unixconnection.cc
|
||||
tcpserver.cc
|
||||
unixserver.cc
|
||||
objectmanager.cc
|
||||
factory.cc
|
||||
idlfilereg.cc
|
||||
ifacerepo_impl.cc
|
||||
mcoputils.cc
|
||||
startupmanager.cc
|
||||
md5.c
|
||||
md5auth.cc
|
||||
referenceclean.cc
|
||||
datapacket.cc
|
||||
asyncstream.cc
|
||||
notification.cc
|
||||
flowsystem.cc
|
||||
extensionloader.cc
|
||||
tmpglobalcomm.cc
|
||||
mcopconfig.cc
|
||||
connect.cc
|
||||
reference.cc
|
||||
type.cc
|
||||
trader_impl.cc
|
||||
dynamicrequest.cc
|
||||
anyref.cc
|
||||
loopback.cc
|
||||
delayedreturn.cc
|
||||
thread.cc
|
||||
dynamicskeleton.cc
|
||||
)
|
||||
|
||||
configure_file( arts_export.h.in arts_export.h )
|
||||
|
||||
if( NOT EXTENSION_DIR )
|
||||
set( EXTENSION_DIR \"${CMAKE_INSTALL_PREFIX}/lib\" )
|
||||
endif( NOT EXTENSION_DIR )
|
||||
|
||||
if( NOT DTRADER_DIR )
|
||||
set( DTRADER_DIR \"${CMAKE_INSTALL_PREFIX}/lib/mcop\" )
|
||||
endif( NOT DTRADER_DIR )
|
||||
|
||||
add_definitions(
|
||||
-DEXTENSION_DIR=${EXTENSION_DIR}
|
||||
-DTRADER_DIR=${DTRADER_DIR}
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR} # for config.h
|
||||
${CMAKE_CURRENT_BINARY_DIR} # for arts_export.h
|
||||
)
|
||||
|
||||
add_library( mcop SHARED ${mcop_SRCS} )
|
||||
target_link_libraries( mcop ltdlc )
|
||||
set_target_properties( mcop PROPERTIES VERSION 1.0.0 SOVERSION 1 )
|
||||
|
||||
add_dependencies( mcop ltdlc )
|
||||
|
||||
##### install ###################################
|
||||
|
||||
install( FILES ${mcop_INCS} DESTINATION ${INCLUDE_INSTALL_DIR} )
|
||||
install( TARGETS mcop LIBRARY DESTINATION ${LIB_INSTALL_DIR} )
|
@ -0,0 +1,18 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
set( mcop_mt_SRCS
|
||||
threads_posix.cc
|
||||
)
|
||||
|
||||
add_library( mcop_mt SHARED ${mcop_mt_SRCS} )
|
||||
set_target_properties( mcop_mt PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( mcop_mt mcop artsflow )
|
@ -0,0 +1,34 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
set( mcopidl_SRCS
|
||||
mcopidl.cc
|
||||
yacc.cc
|
||||
scanner.cc
|
||||
namespace.cc
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_BINARY_DIR}/mcop # for arts_export.h
|
||||
${CMAKE_SOURCE_DIR}/mcop # for common.h
|
||||
)
|
||||
|
||||
#link_directories(
|
||||
# ${CMAKE_BINARY_DIR}/mcop
|
||||
#)
|
||||
|
||||
add_executable( mcopidl ${mcopidl_SRCS} )
|
||||
target_link_libraries( mcopidl mcop )
|
||||
|
||||
|
||||
##### install ###################################
|
||||
|
||||
install( TARGETS mcopidl DESTINATION ${BIN_INSTALL_DIR} )
|
@ -0,0 +1,50 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
add_definitions(
|
||||
${TQT_CFLAGS_OTHER}
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${TQT_INCLUDE_DIRS}
|
||||
${CMAKE_CURRENT_BINARY_DIR} # for qiomanager_p.moc
|
||||
${CMAKE_BINARY_DIR}/mcop # for arts_export.h
|
||||
${CMAKE_SOURCE_DIR}/mcop # for iomanager.h, etc.
|
||||
)
|
||||
|
||||
link_directories(
|
||||
${TQT_LIBRARY_DIRS}
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT qiomanager_p.moc
|
||||
COMMAND moc-tqt ARGS ${QT_MOC_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/qiomanager_p.h qiomanager_p.moc
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/qiomanager_p.h
|
||||
)
|
||||
|
||||
set( qtmcop_INCS
|
||||
qiomanager.h
|
||||
)
|
||||
|
||||
set( qtmcop_SRCS
|
||||
qiomanager.cc
|
||||
qiomanager_p.moc
|
||||
)
|
||||
|
||||
add_library( qtmcop SHARED ${qtmcop_SRCS} )
|
||||
set_target_properties( qtmcop PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( qtmcop ${TQT_LIBRARIES} mcop )
|
||||
|
||||
|
||||
##### install ###################################
|
||||
|
||||
install( FILES ${qtmcop_INCS} DESTINATION ${INCLUDE_INSTALL_DIR} )
|
||||
install(TARGETS qtmcop LIBRARY DESTINATION ${LIB_INSTALL_DIR} )
|
@ -0,0 +1,200 @@
|
||||
#################################################
|
||||
#
|
||||
# (C) 2010 Serghei Amelian
|
||||
# serghei (DOT) amelian (AT) gmail.com
|
||||
#
|
||||
# Improvements and feedback are welcome
|
||||
#
|
||||
# This file is released under GPL >= 2
|
||||
#
|
||||
#################################################
|
||||
|
||||
set( FLOWLIBS artsflow )
|
||||
|
||||
configure_file( artsversion-new.h.in artsversion.h )
|
||||
|
||||
set( MCOPINC
|
||||
-I${CMAKE_CURRENT_SOURCE_DIR} # for kmedia2.idl
|
||||
-I${CMAKE_SOURCE_DIR}/mcop
|
||||
-I${CMAKE_SOURCE_DIR}/flow
|
||||
)
|
||||
|
||||
include_directories(
|
||||
${CMAKE_CURRENT_BINARY_DIR} # for artsversion.h
|
||||
${CMAKE_BINARY_DIR} # for config.h
|
||||
${CMAKE_BINARY_DIR}/flow # for artsflow.h
|
||||
${CMAKE_SOURCE_DIR}/flow # for stdsynthmodule.h
|
||||
${CMAKE_BINARY_DIR}/mcop # for arts_export.h
|
||||
${CMAKE_SOURCE_DIR}/mcop # for common.h
|
||||
)
|
||||
|
||||
set( soundserver_INCS
|
||||
${CMAKE_CURRENT_BINARY_DIR}/artsversion.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/soundserver.h
|
||||
${CMAKE_CURRENT_BINARY_DIR}/kmedia2.h
|
||||
soundserver.idl
|
||||
kmedia2.idl
|
||||
)
|
||||
|
||||
|
||||
##### libkmedia2_idl ###########################
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT kmedia2.cc
|
||||
COMMAND ../mcopidl/mcopidl ARGS -t ${MCOPINC} ${CMAKE_CURRENT_SOURCE_DIR}/kmedia2.idl
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/kmedia2.idl
|
||||
)
|
||||
|
||||
set( kmedia2_idl_SRCS
|
||||
kmedia2.cc
|
||||
)
|
||||
|
||||
add_library( kmedia2_idl SHARED ${kmedia2_idl_SRCS} )
|
||||
set_target_properties( kmedia2_idl PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( kmedia2_idl artsflow_idl )
|
||||
|
||||
|
||||
##### libsoundserver_idl ########################
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT soundserver.cc
|
||||
COMMAND ../mcopidl/mcopidl ARGS -t ${MCOPINC} ${CMAKE_CURRENT_SOURCE_DIR}/soundserver.idl
|
||||
DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/soundserver.idl
|
||||
)
|
||||
|
||||
set( soundserver_idl_SRCS
|
||||
soundserver.cc
|
||||
)
|
||||
|
||||
add_library( soundserver_idl SHARED ${soundserver_idl_SRCS} )
|
||||
set_target_properties( soundserver_idl PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( soundserver_idl kmedia2_idl artsflow_idl )
|
||||
|
||||
|
||||
##### libartsgslplayobject ######################
|
||||
|
||||
set( artsgslplayobject_SRCS
|
||||
gslplayobject_impl.cc
|
||||
)
|
||||
|
||||
add_library( artsgslplayobject SHARED ${artsgslplayobject_SRCS} )
|
||||
set_target_properties( artsgslplayobject PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( artsgslplayobject mcop soundserver_idl artsflow )
|
||||
|
||||
|
||||
##### libartswavplayobject ######################
|
||||
|
||||
set( artswavplayobject_SRCS
|
||||
wavplayobject_impl.cc
|
||||
)
|
||||
|
||||
add_library( artswavplayobject SHARED ${artswavplayobject_SRCS} )
|
||||
set_target_properties( artswavplayobject PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( artswavplayobject mcop soundserver_idl artsflow )
|
||||
|
||||
|
||||
##### libkmedia2 ################################
|
||||
|
||||
set( kmedia2_SRCS
|
||||
fileinputstream_impl.cc
|
||||
stdoutwriter_impl.cc
|
||||
)
|
||||
|
||||
add_library( kmedia2 SHARED ${kmedia2_SRCS} )
|
||||
set_target_properties( kmedia2 PROPERTIES VERSION 1.0 SOVERSION 1 )
|
||||
target_link_libraries( kmedia2 kmedia2_idl artsflow )
|
||||
|
||||
|
||||
##### artsd #####################################
|
||||
|
||||
set( artsd_SRCS
|
||||
soundserverv2_impl.cc
|
||||
soundserver_impl.cc
|
||||
simplesoundserver_impl.cc
|
||||
artsd.cc
|
||||
cpuusage.cc
|
||||
samplestorage_impl.cc
|
||||
crashhandler.cc
|
||||
soundserverstartup_impl.cc
|
||||
)
|
||||
|
||||
add_executable( artsd ${artsd_SRCS} )
|
||||
target_link_libraries( artsd soundserver_idl artsflow mcop_mt )
|
||||
|
||||
|
||||
##### artsplay ##################################
|
||||
|
||||
set( artsplay_SRCS
|
||||
artsplay.cc
|
||||
)
|
||||
|
||||
add_executable( artsplay ${artsplay_SRCS} )
|
||||
target_link_libraries( artsplay soundserver_idl ${LIBPTHREAD} )
|
||||
|
||||
|
||||
##### artscat ###################################
|
||||
|
||||
set( artscat_SRCS
|
||||
artsrec.cc
|
||||
)
|
||||
|
||||
set( CMAKE_EXE_LINKER_FLAGS ${USE_THREADS} )
|
||||
add_executable( artscat ${artscat_SRCS} )
|
||||
target_link_libraries( artscat soundserver_idl ${FLOWLIBS} ${LIBPTHREAD} )
|
||||
|
||||
|
||||
##### artswrapper ###############################
|
||||
|
||||
set( artswrapper_SRCS
|
||||
artswrapper.c
|
||||
)
|
||||
|
||||
add_executable( artswrapper ${artswrapper_SRCS} )
|
||||
set_target_properties( artswrapper PROPERTIES COMPILE_FLAGS -DEXECUTE=\\"${artsdpath}\\" )
|
||||
target_link_libraries( artswrapper )
|
||||
|
||||
|
||||
##### artsshell #################################
|
||||
|
||||
set( artsshell_SRCS
|
||||
artsshell.cc
|
||||
tradercheck.cc
|
||||
)
|
||||
|
||||
add_executable( artsshell ${artsshell_SRCS} )
|
||||
target_link_libraries( artsshell soundserver_idl ${LIBPTHREAD} )
|
||||
|
||||
|
||||
|
||||
##### artsrec ###################################
|
||||
|
||||
set( artsrec_SRCS
|
||||
artsrec.cc
|
||||
)
|
||||
|
||||
add_executable( artsrec ${artsrec_SRCS} )
|
||||
target_link_libraries( artsrec soundserver_idl ${FLOWLIBS} ${LIBPTHREAD} )
|
||||
|
||||
|
||||
##### install ###################################
|
||||
|
||||
install( FILES ${soundserver_INCS} DESTINATION ${INCLUDE_INSTALL_DIR} )
|
||||
|
||||
install(TARGETS
|
||||
kmedia2_idl
|
||||
soundserver_idl
|
||||
artsgslplayobject
|
||||
artswavplayobject
|
||||
kmedia2
|
||||
LIBRARY DESTINATION ${LIB_INSTALL_DIR}
|
||||
)
|
||||
|
||||
install( TARGETS
|
||||
artsd
|
||||
artsplay
|
||||
artscat
|
||||
artswrapper
|
||||
artsshell
|
||||
artsrec
|
||||
DESTINATION ${BIN_INSTALL_DIR}
|
||||
)
|
Loading…
Reference in new issue