Browse Source

[dependencies/arts] added initial cmake support

git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/dependencies/arts@1182851 283d02a7-25f6-0310-bc7c-ecb5cbfe19da
tags/v3.5.13
samelian 9 years ago
parent
commit
36bb41f5be
14 changed files with 1123 additions and 0 deletions
  1. +213
    -0
      CMakeLists.txt
  2. +10
    -0
      arts.pc.cmake
  3. +103
    -0
      artsc/CMakeLists.txt
  4. +29
    -0
      config.h.cmake
  5. +124
    -0
      flow/CMakeLists.txt
  6. +161
    -0
      flow/gsl/CMakeLists.txt
  7. +24
    -0
      flow/gslpp/CMakeLists.txt
  8. +0
    -0
      flow/mcopclass/CMakeLists.txt
  9. +34
    -0
      gmcop/CMakeLists.txt
  10. +123
    -0
      mcop/CMakeLists.txt
  11. +18
    -0
      mcop_mt/CMakeLists.txt
  12. +34
    -0
      mcopidl/CMakeLists.txt
  13. +50
    -0
      qtmcop/CMakeLists.txt
  14. +200
    -0
      soundserver/CMakeLists.txt

+ 213
- 0
CMakeLists.txt View File

@@ -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 )

+ 10
- 0
arts.pc.cmake View File

@@ -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}

+ 103
- 0
artsc/CMakeLists.txt View File

@@ -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} )

+ 29
- 0
config.h.cmake View File

@@ -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

+ 124
- 0
flow/CMakeLists.txt View File

@@ -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} )

+ 161
- 0
flow/gsl/CMakeLists.txt View File

@@ -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 )


+ 24
- 0
flow/gslpp/CMakeLists.txt View File

@@ -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
flow/mcopclass/CMakeLists.txt View File


+ 34
- 0
gmcop/CMakeLists.txt View File

@@ -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} )

+ 123
- 0
mcop/CMakeLists.txt View File

@@ -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} )

+ 18
- 0
mcop_mt/CMakeLists.txt View File

@@ -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 )

+ 34
- 0
mcopidl/CMakeLists.txt View File

@@ -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} )

+ 50
- 0
qtmcop/CMakeLists.txt View File

@@ -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} )

+ 200
- 0
soundserver/CMakeLists.txt View File

@@ -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…
Cancel
Save