From 94b046dce6bb86fd22abd1831fc9056103f4aa5d Mon Sep 17 00:00:00 2001
From: pbattu123
Date: Wed, 22 May 2019 16:33:40 +0000
Subject: [PATCH] commit cmake for cmakehelpers
---
vendor/websocketpp/cmake/CMakeHelpers.cmake | 109 ++++++++++++++++++++
1 file changed, 109 insertions(+)
create mode 100644 vendor/websocketpp/cmake/CMakeHelpers.cmake
diff --git a/vendor/websocketpp/cmake/CMakeHelpers.cmake b/vendor/websocketpp/cmake/CMakeHelpers.cmake
new file mode 100644
index 0000000..c2a20e5
--- /dev/null
+++ b/vendor/websocketpp/cmake/CMakeHelpers.cmake
@@ -0,0 +1,109 @@
+
+# Print build configuration
+macro (print_used_build_config)
+ message ("\n=========== Used Build Configuration =============\n")
+ message (STATUS "ENABLE_CPP11 = " ${ENABLE_CPP11})
+ message (STATUS "BUILD_EXAMPLES = " ${BUILD_EXAMPLES})
+ message (STATUS "BUILD_TESTS = " ${BUILD_TESTS})
+ message ("")
+ message (STATUS "WEBSOCKETPP_ROOT = " ${WEBSOCKETPP_ROOT})
+ message (STATUS "WEBSOCKETPP_BIN = " ${WEBSOCKETPP_BIN})
+ message (STATUS "WEBSOCKETPP_LIB = " ${WEBSOCKETPP_LIB})
+ message (STATUS "Install prefix = " ${CMAKE_INSTALL_PREFIX})
+ message ("")
+ message (STATUS "WEBSOCKETPP_BOOST_LIBS = ${WEBSOCKETPP_BOOST_LIBS}")
+ message (STATUS "WEBSOCKETPP_PLATFORM_LIBS = ${WEBSOCKETPP_PLATFORM_LIBS}")
+ message (STATUS "WEBSOCKETPP_PLATFORM_TLS_LIBS = ${WEBSOCKETPP_PLATFORM_TLS_LIBS}")
+ message ("")
+ message (STATUS "OPENSSL_FOUND = ${OPENSSL_FOUND}")
+ message (STATUS "OPENSSL_INCLUDE_DIR = ${OPENSSL_INCLUDE_DIR}")
+ message (STATUS "OPENSSL_LIBRARIES = ${OPENSSL_LIBRARIES}")
+ message (STATUS "OPENSSL_VERSION = ${OPENSSL_VERSION}")
+ message ("")
+endmacro ()
+
+# Adds the given folder_name into the source files of the current project.
+# Use this macro when your module contains .cpp and .h files in several subdirectories.
+# Your sources variable needs to be WSPP_SOURCE_FILES and headers variable WSPP_HEADER_FILES.
+macro(add_source_folder folder_name)
+ file(GLOB H_FILES_IN_FOLDER_${folder_name} ${folder_name}/*.hpp ${folder_name}/*.h)
+ file(GLOB CPP_FILES_IN_FOLDER_${folder_name} ${folder_name}/*.cpp ${folder_name}/*.c)
+ source_group("Header Files\\${folder_name}" FILES ${H_FILES_IN_FOLDER_${folder_name}})
+ source_group("Source Files\\${folder_name}" FILES ${CPP_FILES_IN_FOLDER_${folder_name}})
+ set(WSPP_HEADER_FILES ${WSPP_HEADER_FILES} ${H_FILES_IN_FOLDER_${folder_name}})
+ set(WSPP_SOURCE_FILES ${WSPP_SOURCE_FILES} ${CPP_FILES_IN_FOLDER_${folder_name}})
+endmacro()
+
+# Initialize target.
+macro (init_target NAME)
+ set (TARGET_NAME ${NAME})
+ message ("** " ${TARGET_NAME})
+
+ # Include our own module path. This makes #include "x.h"
+ # work in project subfolders to include the main directory headers.
+ include_directories (${CMAKE_CURRENT_SOURCE_DIR})
+endmacro ()
+
+# Build executable for executables
+macro (build_executable TARGET_NAME)
+ set (TARGET_LIB_TYPE "EXECUTABLE")
+ message (STATUS "-- Build Type:")
+ message (STATUS " " ${TARGET_LIB_TYPE})
+
+ add_executable (${TARGET_NAME} ${ARGN})
+
+ include_directories (${WEBSOCKETPP_ROOT} ${WEBSOCKETPP_INCLUDE})
+
+ target_link_libraries(${TARGET_NAME} ${WEBSOCKETPP_PLATFORM_LIBS})
+
+ set_target_properties (${TARGET_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${WEBSOCKETPP_BIN})
+ set_target_properties (${TARGET_NAME} PROPERTIES DEBUG_POSTFIX d)
+endmacro ()
+
+# Build executable and register as test
+macro (build_test TARGET_NAME)
+ build_executable (${TARGET_NAME} ${ARGN})
+
+ if (${CMAKE_VERSION} VERSION_LESS 3)
+ message(WARNING "CMake too old to register ${TARGET_NAME} as a test")
+ else ()
+ add_test(NAME ${TARGET_NAME} COMMAND $)
+ endif ()
+endmacro ()
+
+# Finalize target for all types
+macro (final_target)
+ if ("${TARGET_LIB_TYPE}" STREQUAL "EXECUTABLE")
+ install (TARGETS ${TARGET_NAME}
+ RUNTIME DESTINATION "bin"
+ CONFIGURATIONS ${CMAKE_CONFIGURATION_TYPES})
+ endif ()
+
+ # install headers, directly from current source dir and look for subfolders with headers
+ file (GLOB_RECURSE TARGET_INSTALL_HEADERS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.hpp)
+ foreach (hppfile ${TARGET_INSTALL_HEADERS})
+ get_filename_component (currdir ${hppfile} PATH)
+ install (FILES ${hppfile} DESTINATION "include/${TARGET_NAME}/${currdir}")
+ endforeach()
+endmacro ()
+
+macro (link_boost)
+ target_link_libraries (${TARGET_NAME} ${Boost_LIBRARIES})
+endmacro ()
+
+macro (link_openssl)
+ target_link_libraries (${TARGET_NAME} ${OPENSSL_SSL_LIBRARY} ${OPENSSL_CRYPTO_LIBRARY})
+endmacro ()
+
+macro (link_zlib)
+ target_link_libraries (${TARGET_NAME} ${ZLIB_LIBRARIES})
+endmacro ()
+
+macro (include_subdirs PARENT)
+ file (GLOB SDIRS RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} "${PARENT}/*")
+ foreach (SUBDIR ${SDIRS})
+ if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR}/CMakeLists.txt")
+ add_subdirectory ("${CMAKE_CURRENT_SOURCE_DIR}/${SUBDIR}")
+ endif ()
+ endforeach ()
+endmacro()