##############################################################################
#
#  Copyright 2010 Richard Hacker (lerichi at gmx dot net)
#
#  This file is part of the pdserv library.
#
#  The pdserv library is free software: you can redistribute it and/or modify
#  it under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or (at your
#  option) any later version.
#
#  The pdserv library is distributed in the hope that it will be useful, but
#  WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
#  or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
#  License for more details.
#
#  You should have received a copy of the GNU Lesser General Public License
#  along with the pdserv library. If not, see <http://www.gnu.org/licenses/>.
#
##############################################################################

INCLUDE_DIRECTORIES(
    ${PROJECT_BINARY_DIR}
    ${PROJECT_BINARY_DIR}/include
    ${PROJECT_SOURCE_DIR}/src
    ${PROJECT_SOURCE_DIR}/src/msrproto)

LINK_DIRECTORIES(${pdserv_BINARY_DIR}/src)

ADD_EXECUTABLE(xmlwriter xmlwriter.cpp)
TARGET_LINK_LIBRARIES(xmlwriter ${PROJECT_NAME})

ADD_EXECUTABLE(config config.cpp ../src/Config.cpp)
TARGET_LINK_LIBRARIES(config ${PROJECT_NAME} ${YAML_LIBRARIES})

ADD_EXECUTABLE(test1 test1.cpp)
TARGET_LINK_LIBRARIES(test1 ${PROJECT_NAME} -lrt)

ADD_EXECUTABLE(datatype datatype.cpp ../src/DataType.cpp)
TARGET_LINK_LIBRARIES(datatype ${PROJECT_NAME})

FIND_PACKAGE (Threads)

ADD_EXECUTABLE(net net.cpp ../src/PThread.cpp ../src/TCP.cpp ../src/Debug.cpp)
TARGET_LINK_LIBRARIES(net ${CMAKE_THREAD_LIBS_INIT} -lrt)

ADD_EXECUTABLE(threads threads.cpp ../src/PThread.cpp)
TARGET_LINK_LIBRARIES(threads ${CMAKE_THREAD_LIBS_INIT} -lrt)
IF (CMAKE_USE_PTHREADS_INIT)
    SET_TARGET_PROPERTIES ( threads PROPERTIES
        COMPILE_OPTIONS "-pthread")
ENDIF ()

ADD_EXECUTABLE(parser
    parser.cpp ${PROJECT_SOURCE_DIR}/src/msrproto/XmlParser.cpp
    ${PROJECT_SOURCE_DIR}/src/PThread.cpp
    ${PROJECT_SOURCE_DIR}/src/Debug.cpp)
TARGET_LINK_LIBRARIES (parser
    ${LOG4CPLUS_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} -lrt)

ADD_EXECUTABLE(logging logging.cpp)
TARGET_LINK_LIBRARIES(logging
    ${LOG4CPLUS_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${PROJECT_NAME} -lrt)

#ADD_TEST(test1 test1)
ADD_TEST(parser parser)
ADD_TEST(logging logging)
