cmake_minimum_required (VERSION 2.6)
PROJECT(sioclient)

set(BOOST_VER "1.55.0" CACHE STRING "boost version" )
set(BOOST_PATH "__boost__" CACHE STRING "boost root path" )
set(CMAKE_CXX_FLAGS "-std=c++11 -stdlib=libc++" )

if(${BOOST_PATH} STREQUAL "__boost__" )
    set(BOOST_INCLUDE "__boost__" CACHE STRING "boost include path" )
    set(BOOST_LIB "__boost__" CACHE STRING "boost lib path" )
    MESSAGE(STATUS "BOOST_PATH not set, find BOOST_INCLUDE and BOOST_LIB" )

    if(${BOOST_INCLUDE} STREQUAL "__boost__" OR ${BOOST_LIB} STREQUAL "__boost__" )
        MESSAGE(SEND_ERROR "You need to specify either BOOST_PATH or BOOST_INCLUDE & BOOST_LIB" )
        return()
    else()
        MESSAGE(STATUS "got include " ${BOOST_INCLUDE} )
        MESSAGE(STATUS "got lib " ${BOOST_LIB} )
        set(BOOST_INCLUDEDIR ${BOOST_INCLUDE} )
        set(BOOST_LIBRARYDIR ${BOOST_LIB} )
    endif()
else()
    MESSAGE(STATUS "got path " ${BOOST_PATH} )
    set(BOOST_ROOT ${BOOST_PATH} )
endif()
set(Boost_DEBUG 1)
set(Boost_USE_STATIC_LIBS ON) 
set(Boost_USE_MULTITHREADED ON) 
set(Boost_USE_STATIC_RUNTIME OFF) 
find_package(Boost ${BOOST_VER} COMPONENTS system date_time random) 

if(Boost_FOUND)
    include_directories(${Boost_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/lib/websocketpp ${PROJECT_SOURCE_DIR}/lib/rapidjson/include) 
    aux_source_directory(${PROJECT_SOURCE_DIR}/src ALL_SRC)
    aux_source_directory(${PROJECT_SOURCE_DIR}/src/internal ALL_SRC)
    file(GLOB ALL_HEADERS ${PROJECT_SOURCE_DIR}/src/*.h )
    MESSAGE(STATUS ${ALL_HEADERS} )
    add_library(sioclient STATIC ${ALL_SRC}) 
    target_link_libraries(sioclient ${Boost_LIBRARIES})
    INSTALL(FILES ${ALL_HEADERS} 
        DESTINATION "${PROJECT_SOURCE_DIR}/build/include"
        )
    INSTALL(TARGETS sioclient
        DESTINATION "${PROJECT_SOURCE_DIR}/build/lib"
        )
endif() 