#!/bin/bash
if [ ! -d ../drumstick ]; then
    echo "Error: the directory ../drumstick doesn's exists. Checkout drumstick first."
    exit
fi
if [ -d drumstick ]; then
    echo "Error: the local directory drumstick already exists."
    exit
fi

mkdir -p drumstick/include
pushd drumstick/include
for F in ../../../drumstick/library/include/*.h; do
    ln -s $F .
done
popd

mkdir -p drumstick/src
pushd drumstick/src
for F in ../../../drumstick/library/src/*.cpp; do
    ln -s  $F .
done
popd

pushd drumstick
cat >CMakeLists.txt <<EOF
INCLUDE_DIRECTORIES(
    \${CMAKE_CURRENT_BINARY_DIR}
    \${CMAKE_CURRENT_SOURCE_DIR}/include
)

ADD_DEFINITIONS(-DRTKIT_SUPPORT)

# drumstick-file library

SET(drumstick-file_QTOBJ_SRCS
    include/qsmf.h
    include/qwrk.h
    include/qove.h
)

SET(drumstick-file_HEADERS
    include/qsmf.h
    include/qwrk.h
    include/qove.h
)

SET(drumstick-file_SRCS
    src/qsmf.cpp
    src/qwrk.cpp
    src/qove.cpp
)

QT4_WRAP_CPP(drumstick-file_MOC_SRCS \${drumstick-file_QTOBJ_SRCS})

ADD_LIBRARY(drumstick-file
    \${drumstick-file_MOC_SRCS}
    \${drumstick-file_SRCS}
    \${drumstick-file_HEADERS}
)

SET_TARGET_PROPERTIES(drumstick-file PROPERTIES COMPILE_FLAGS -fPIC)

TARGET_LINK_LIBRARIES(drumstick-file
    \${QT_LIBRARIES}
)

# drumstick-alsa library

SET(drumstick-alsa_QTOBJ_SRCS
    include/alsaclient.h
    include/alsaevent.h
    include/alsaport.h
    include/alsaqueue.h
    include/alsatimer.h
    include/playthread.h
)

SET(drumstick-alsa_HEADERS
    include/macros.h
    include/alsaclient.h
    include/alsaevent.h
    include/alsaport.h
    include/alsaqueue.h
    include/alsatimer.h
    include/drumstickcommon.h
    include/playthread.h
    include/subscription.h
)

SET(drumstick-alsa_SRCS
    src/alsaclient.cpp
    src/alsaevent.cpp
    src/alsaport.cpp
    src/alsaqueue.cpp
    src/alsatimer.cpp
    src/playthread.cpp
    src/subscription.cpp
)

QT4_WRAP_CPP(drumstick-alsa_MOC_SRCS \${drumstick-alsa_QTOBJ_SRCS})
   
ADD_LIBRARY(drumstick-alsa 
    \${drumstick-alsa_MOC_SRCS}
    \${drumstick-alsa_SRCS} 
    \${drumstick-alsa_HEADERS} 
)

SET_TARGET_PROPERTIES(drumstick-alsa PROPERTIES COMPILE_FLAGS -fPIC)
    
TARGET_LINK_LIBRARIES(drumstick-alsa
    \${QT_LIBRARIES}
    \${ALSA_LIBS}
)
EOF
popd
