add more compiling compatibility

This commit is contained in:
melode11 2015-04-09 15:27:51 +08:00
parent 65521db008
commit 2eb2a30de4
2 changed files with 27 additions and 24 deletions

View File

@ -3,11 +3,6 @@ PROJECT(sioclient)
set(BOOST_VER "1.55.0" CACHE STRING "boost version" ) set(BOOST_VER "1.55.0" CACHE STRING "boost version" )
set(BOOST_PATH "__boost__" CACHE STRING "boost root path" ) set(BOOST_PATH "__boost__" CACHE STRING "boost root path" )
set(CMAKE_CXX_FLAGS_DEBUG "-O0 -g")
set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
if(${BOOST_PATH} STREQUAL "__boost__" ) if(${BOOST_PATH} STREQUAL "__boost__" )
set(BOOST_INCLUDE "__boost__" CACHE STRING "boost include path" ) set(BOOST_INCLUDE "__boost__" CACHE STRING "boost include path" )
@ -31,22 +26,30 @@ set(Boost_DEBUG 1)
set(Boost_USE_STATIC_LIBS ON) set(Boost_USE_STATIC_LIBS ON)
set(Boost_USE_MULTITHREADED ON) set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF) set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost ${BOOST_VER} COMPONENTS system date_time random) find_package(Boost ${BOOST_VER} REQUIRED COMPONENTS system date_time random)
if(Boost_FOUND) MESSAGE(STATUS ${Boost_SYSTEM_LIBRARY} )
include_directories(${Boost_INCLUDE_DIRS} ${PROJECT_SOURCE_DIR}/src ${PROJECT_SOURCE_DIR}/lib/websocketpp ${PROJECT_SOURCE_DIR}/lib/rapidjson/include) MESSAGE(STATUS ${CMAKE_CURRENT_LIST_DIR})
aux_source_directory(${PROJECT_SOURCE_DIR}/src ALL_SRC) aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src ALL_SRC)
aux_source_directory(${PROJECT_SOURCE_DIR}/src/internal ALL_SRC) aux_source_directory(${CMAKE_CURRENT_LIST_DIR}/src/internal ALL_SRC)
file(GLOB ALL_HEADERS ${PROJECT_SOURCE_DIR}/src/*.h ) file(GLOB ALL_HEADERS ${CMAKE_CURRENT_LIST_DIR}/src/*.h )
MESSAGE(STATUS ${ALL_HEADERS} ) MESSAGE(STATUS ${ALL_HEADERS} )
add_library(sioclient STATIC ${ALL_SRC}) add_library(sioclient STATIC ${ALL_SRC})
target_include_directories(sioclient PRIVATE ${Boost_INCLUDE_DIRS}
${CMAKE_CURRENT_LIST_DIR}/src
${CMAKE_CURRENT_LIST_DIR}/lib/websocketpp
${CMAKE_CURRENT_LIST_DIR}/lib/rapidjson/include
)
set_property(TARGET sioclient PROPERTY CXX_STANDARD 11) set_property(TARGET sioclient PROPERTY CXX_STANDARD 11)
set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON) set_property(TARGET sioclient PROPERTY CXX_STANDARD_REQUIRED ON)
target_link_libraries(sioclient ${Boost_LIBRARIES}) target_link_libraries(sioclient PRIVATE ${Boost_LIBRARIES})
INSTALL(FILES ${ALL_HEADERS} install(FILES ${ALL_HEADERS}
DESTINATION "${PROJECT_SOURCE_DIR}/build/include" DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/include"
) )
INSTALL(TARGETS sioclient install(FILES ${Boost_LIBRARIES} DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/lib")
DESTINATION "${PROJECT_SOURCE_DIR}/build/lib"
install(TARGETS sioclient
DESTINATION "${CMAKE_CURRENT_LIST_DIR}/build/lib"
) )
endif()

View File

@ -1,8 +1,8 @@
#ifndef SIO_CLIENT_IMPL_H #ifndef SIO_CLIENT_IMPL_H
#define SIO_CLIENT_IMPL_H #define SIO_CLIENT_IMPL_H
#ifdef _WIN32
#include <cstdint> #include <cstdint>
#ifdef _WIN32
#define _WEBSOCKETPP_CPP11_THREAD_ #define _WEBSOCKETPP_CPP11_THREAD_
#define BOOST_ALL_NO_LIB #define BOOST_ALL_NO_LIB
//#define _WEBSOCKETPP_CPP11_RANDOM_DEVICE_ //#define _WEBSOCKETPP_CPP11_RANDOM_DEVICE_