@@ -101,6 +101,7 @@ elseif(WIN32)
101101 option (BUILD_SHARED_LIBS "Build shared Libraries." ON )
102102 option (BUILD_TESTS "Build tests." ON )
103103 option (BUILD_SAMPLES "Build samples." ON )
104+ option (CPPREST_EXCLUDE_WEBSOCKETS "Exclude websockets functionality." OFF )
104105 option (Boost_USE_STATIC_LIBS ON )
105106
106107 add_definitions (-DUNICODE -D_UNICODE)
@@ -114,8 +115,12 @@ elseif(WIN32)
114115 endif ()
115116 add_definitions (${Casablanca_DEFINITIONS} -D_WINSOCK_DEPRECATED_NO_WARNINGS -DWIN32)
116117
117- find_package (Boost 1.55 REQUIRED COMPONENTS random system thread filesystem chrono atomic)
118- find_package (OpenSSL 1.0 REQUIRED)
118+ if (CPPREST_EXCLUDE_WEBSOCKETS)
119+ add_definitions (-DCPPREST_EXCLUDE_WEBSOCKETS=1)
120+ else ()
121+ find_package (Boost 1.55 REQUIRED COMPONENTS random system thread filesystem chrono atomic)
122+ find_package (OpenSSL 1.0 REQUIRED)
123+ endif ()
119124else ()
120125 message (FATAL_ERROR "-- Unsupported Build Platform." )
121126endif ()
@@ -134,7 +139,7 @@ elseif((CMAKE_CXX_COMPILER_ID MATCHES "Clang") OR IOS)
134139 message ("-- Setting clang options" )
135140
136141 set (WARNINGS "-Wall -Wextra -Wcast-qual -Wconversion -Wformat=2 -Winit-self -Winvalid-pch -Wmissing-format-attribute -Wmissing-include-dirs -Wpacked -Wredundant-decls" )
137- set (OSX_SUPPRESSIONS "-Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder" )
142+ set (OSX_SUPPRESSIONS "-Wno-overloaded-virtual -Wno-sign-conversion -Wno-deprecated -Wno-unknown-pragmas -Wno-reorder -Wno-char-subscripts -Wno-switch -Wno-unused-parameter -Wno-unused-variable -Wno-deprecated -Wno-unused-value -Wno-unknown-warning-option -Wno-return-type-c-linkage -Wno-unused-function -Wno-sign-compare -Wno-shorten-64-to-32 -Wno-reorder -Wno-unused-local-typedefs " )
138143 set (WARNINGS "${WARNINGS} ${OSX_SUPPRESSIONS} " )
139144
140145 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -Wno-return-type-c-linkage -Wno-unneeded-internal-declaration" )
@@ -165,23 +170,34 @@ set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/Binaries)
165170
166171# These settings can be used by the test targets
167172set (Casablanca_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR} /include )
168-
169- find_path (WEBSOCKETPP_CONFIG websocketpp-config.cmake
170- HINTS /usr/lib/cmake/websocketpp)
171- find_path (WEBSOCKETPP_CONFIG_VERSION websocketpp-configVersion.cmake
172- HINTS /usr/lib/cmake/websocketpp)
173- if (WEBSOCKETPP_CONFIG AND WEBSOCKETPP_CONFIG_VERSION)
174- include (${WEBSOCKETPP_CONFIG} /websocketpp-config.cmake)
175- include (${WEBSOCKETPP_CONFIG} /websocketpp-configVersion.cmake)
176- message ("-- Found websocketpp version " ${PACKAGE_VERSION} " on system" )
177- set (Casablanca_INCLUDE_DIRS ${Casablanca_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${WEBSOCKETPP_INCLUDE_DIR} )
178- else (WEBSOCKETPP_CONFIG AND WEBSOCKETPP_CONFIG_VERSION)
179- set (Casablanca_INCLUDE_DIRS ${Casablanca_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} /libs/websocketpp)
180- message ("-- websocketpp not found, using the embedded version" )
181- endif (WEBSOCKETPP_CONFIG AND WEBSOCKETPP_CONFIG_VERSION)
173+ if (NOT CPPREST_EXCLUDE_WEBSOCKETS)
174+ find_path (WEBSOCKETPP_CONFIG websocketpp-config.cmake
175+ HINTS /usr/lib/cmake/websocketpp)
176+ find_path (WEBSOCKETPP_CONFIG_VERSION websocketpp-configVersion.cmake
177+ HINTS /usr/lib/cmake/websocketpp)
178+ if (WEBSOCKETPP_CONFIG AND WEBSOCKETPP_CONFIG_VERSION)
179+ include (${WEBSOCKETPP_CONFIG} /websocketpp-config.cmake)
180+ include (${WEBSOCKETPP_CONFIG} /websocketpp-configVersion.cmake)
181+ message ("-- Found websocketpp version " ${PACKAGE_VERSION} " on system" )
182+ set (Casablanca_INCLUDE_DIRS ${Casablanca_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${WEBSOCKETPP_INCLUDE_DIR} )
183+ else (WEBSOCKETPP_CONFIG AND WEBSOCKETPP_CONFIG_VERSION)
184+ set (Casablanca_INCLUDE_DIRS ${Casablanca_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${OPENSSL_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} /libs/websocketpp)
185+ message ("-- websocketpp not found, using the embedded version" )
186+ endif (WEBSOCKETPP_CONFIG AND WEBSOCKETPP_CONFIG_VERSION)
187+ else ()
188+ set (Casablanca_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR} /include )
189+ endif ()
182190
183191set (Casablanca_LIBRARY ${LIB} cpprest)
184- set (Casablanca_LIBRARIES ${Casablanca_LIBRARY} ${Boost_LIBRARIES} ${Boost_FRAMEWORK} )
192+ set (Casablanca_LIBRARIES ${Casablanca_LIBRARY}
193+ ${Boost_FILESYSTEM_LIBRARY}
194+ ${Boost_SYSTEM_LIBRARY}
195+ ${Boost_THREAD_LIBRARY}
196+ ${Boost_ATOMIC_LIBRARY}
197+ ${Boost_CHRONO_LIBRARY}
198+ ${Boost_RANDOM_LIBRARY}
199+ ${Boost_REGEX_LIBRARY}
200+ ${Boost_FRAMEWORK} )
185201
186202# Everything in the project needs access to the casablanca include directories
187203include_directories (${Casablanca_INCLUDE_DIRS} )
0 commit comments