########### next target ###############

include_directories(${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_BINARY_DIR})

set(purplemm_SRCS
    accountmm.cpp
    buddymm.cpp
    conversationmm.cpp
    eventloopmm.cpp
    filetransfermm.cpp
    chatmm.cpp
    notifymm.cpp
    pluginmm.cpp
    protocolmm.cpp
    purplemm.cpp
    requestmm.cpp
    roomlistmm.cpp
    soundmm.cpp
    utilsmm.cpp
)

set(purplemm_HEADERS
    accountmm.h
    buddymm.h
    callbacksmm.h
    ${CMAKE_CURRENT_BINARY_DIR}/libpurplemmconfig.h
    conversationmm.h
    eventloopmm.h
    exceptionmm.h
    exportmm.h
    filetransfermm.h
    chatmm.h
    notifymm.h
    pi18n.h
    pluginmm.h
    protocolmm.h
    purplemm.h
    requestmm.h
    roomlistmm.h
    soundmm.h
    utilsmm.h
)

if(PURPLEMM_STATIC)
add_definitions(-DPURPLEMM_STATIC)
add_library(purplemm STATIC ${purplemm_SRCS})
else(PURPLEMM_STATIC)
add_library(purplemm SHARED ${purplemm_SRCS})
set_target_properties(purplemm PROPERTIES
    VERSION 1.0.0
    SOVERSION 1.0
)
endif(PURPLEMM_STATIC)

target_link_libraries(purplemm ${PURPLE_LIBRARIES})

configure_file(${CMAKE_CURRENT_SOURCE_DIR}/config.h.cmake
               ${CMAKE_CURRENT_BINARY_DIR}/libpurplemmconfig.h
)

# add a target to generate API documentation with Doxygen
find_package(Doxygen)
if(DOXYGEN_FOUND)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/Doxyfile.in ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile @ONLY)
add_custom_target(doc
${DOXYGEN_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/Doxyfile
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
COMMENT "Generating API documentation with Doxygen" VERBATIM
)
endif(DOXYGEN_FOUND)

########### install files ###############
if(NOT PURPLEMM_STATIC)
install(TARGETS purplemm RUNTIME DESTINATION bin
                    LIBRARY DESTINATION lib${LIB_SUFFIX}
                    ARCHIVE DESTINATION lib${LIB_SUFFIX})
install(FILES ${purplemm_HEADERS} DESTINATION ${CMAKE_INSTALL_PREFIX}/include/purplemm)
endif(NOT PURPLEMM_STATIC)
