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" ) 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) MESSAGE( STATUS "SRC FILES: " ${ALL_SRC} ) add_library(sioclient STATIC ${ALL_SRC}) target_link_libraries(sioclient ${Boost_LIBRARIES}) endif()