From 7a884dc83c6cbd15601e86fbe7986b0e80d3f184 Mon Sep 17 00:00:00 2001 From: melode11 Date: Wed, 8 Apr 2015 13:55:56 +0800 Subject: [PATCH] add more argument options for cmake --- CMakeLists.txt | 28 +++++++++++++++++++++++----- 1 file changed, 23 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1c9bdda..5862e1c 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,19 +1,37 @@ cmake_minimum_required (VERSION 2.6) PROJECT(sioclient) -set(BOOST_PATH "./boost" CACHE STRING "boost root path" ) -set(BOOST_ROOT ${BOOST_PATH} ) -#set(BOOST_INCLUDEDIR "${BOOST_PATH}/include" ) -#set(BOOST_LIBRARYDIR "${BOOST_PATH}/lib" ) +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 1.55.0 COMPONENTS system date_time random) +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() \ No newline at end of file