Fix to expose openssl dependency
[platform/upstream/libwebsockets.git] / CMakeLists.txt
index b596c20..e6da220 100644 (file)
@@ -9,12 +9,12 @@ project(libwebsockets C)
 set(PACKAGE "libwebsockets")
 set(CPACK_PACKAGE_NAME "${PACKAGE}")
 set(CPACK_PACKAGE_VERSION_MAJOR "2")
-set(CPACK_PACKAGE_VERSION_MINOR "2")
+set(CPACK_PACKAGE_VERSION_MINOR "3")
 set(CPACK_PACKAGE_VERSION_PATCH "0")
 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
 set(CPACK_PACKAGE_VENDOR "andy@warmcat.com")
 set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PACKAGE} ${PACKAGE_VERSION}")
-set(SOVERSION "10")
+set(SOVERSION "11")
 if(NOT CPACK_GENERATOR)
     if(UNIX)
         set(CPACK_GENERATOR "TGZ")
@@ -95,7 +95,7 @@ option(LWS_WITH_LATENCY "Build latency measuring code into the library" OFF)
 option(LWS_WITHOUT_DAEMONIZE "Don't build the daemonization api" ON)
 option(LWS_IPV6 "Compile with support for ipv6" OFF)
 option(LWS_UNIX_SOCK "Compile with support for UNIX domain socket" OFF)
-option(LWS_WITH_HTTP2 "Compile with support for http2" OFF)
+#option(LWS_WITH_HTTP2 "Compile with support for http2" OFF)
 option(LWS_SSL_SERVER_WITH_ECDH_CERT "Include SSL server use ECDH certificate" OFF)
 option(LWS_WITH_CGI "Include CGI (spawn process with network-connected stdin/out/err) APIs" OFF)
 option(LWS_WITH_HTTP_PROXY "Support for rewriting HTTP proxying (requires libhubbub)" OFF)
@@ -517,6 +517,12 @@ set(LWS_HAVE_WORKING_VFORK LWS_HAVE_VFORK)
 
 CHECK_INCLUDE_FILES("stdlib.h;stdarg.h;string.h;float.h" STDC_HEADERS)
 
+CHECK_C_SOURCE_COMPILES("#include <stdint.h> 
+       int main(void) {
+               intptr_t test = 1;
+               return 0;
+       }" LWS_HAS_INTPTR_T)
+
 # These don't work Cross...
 #CHECK_TYPE_SIZE(pid_t PID_T_SIZE)
 #CHECK_TYPE_SIZE(size_t SIZE_T_SIZE)
@@ -1036,6 +1042,7 @@ endforeach()
 set (temp ${CMAKE_REQUIRED_LIBRARIES})
 set(CMAKE_REQUIRED_LIBRARIES ${LIB_LIST})
 CHECK_FUNCTION_EXISTS(SSL_CTX_set1_param LWS_HAVE_SSL_CTX_set1_param)
+CHECK_FUNCTION_EXISTS(SSL_set_info_callback LWS_HAVE_SSL_SET_INFO_CALLBACK)
 CHECK_FUNCTION_EXISTS(X509_VERIFY_PARAM_set1_host LWS_HAVE_X509_VERIFY_PARAM_set1_host)
 if (LWS_WITH_ESP32)
        set(LWS_HAVE_TLS_CLIENT_METHOD 1)
@@ -1240,9 +1247,9 @@ if (NOT LWS_WITHOUT_TESTAPPS)
                        create_test_app(test-server "test-server/test-server.c"
                                "test-server/test-server-http.c"
                                "test-server/test-server-dumb-increment.c"
-                               "test-server/test-server-mirror.c"
-                               "test-server/test-server-status.c"
-                               "test-server/test-server-echogen.c")
+                               ""
+                               ""
+                               "")
                        if (UNIX)
                                create_test_app(test-fuzxy "test-server/fuzxy.c"
                                        ""
@@ -1256,9 +1263,9 @@ if (NOT LWS_WITHOUT_TESTAPPS)
                                        "test-server/test-server-pthreads.c"
                                        "test-server/test-server-http.c"
                                        "test-server/test-server-dumb-increment.c"
-                                       "test-server/test-server-mirror.c"
-                                       "test-server/test-server-status.c"
-                                       "test-server/test-server-echogen.c")
+                                       ""
+                                       ""
+                                       "")
                        endif()
                        if (NOT ((CMAKE_C_COMPILER_ID MATCHES "Clang") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
                                AND LWS_WITH_LIBEV)
@@ -1266,19 +1273,21 @@ if (NOT LWS_WITHOUT_TESTAPPS)
                                        "test-server/test-server-libev.c"
                                        "test-server/test-server-http.c"
                                        "test-server/test-server-dumb-increment.c"
-                                       "test-server/test-server-mirror.c"
-                                       "test-server/test-server-status.c"
-                                       "test-server/test-server-echogen.c")
+                                       ""
+                                       ""
+                                       "")
+                               # libev generates a big mess of warnings with gcc, maintainers blame gcc
+                               set_source_files_properties( test-server/test-server-libev.c PROPERTIES COMPILE_FLAGS "-Wno-error" )
                        endif()
                        if (NOT ((CMAKE_C_COMPILER_ID MATCHES "Clang") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
                                AND LWS_WITH_LIBUV)
                                create_test_app(test-server-libuv
                                        "test-server/test-server-libuv.c"
                                        "test-server/test-server-http.c"
-                                       "test-server/test-server-dumb-increment.c"
-                                       "test-server/test-server-mirror.c"
-                                       "test-server/test-server-status.c"
-                                       "test-server/test-server-echogen.c")
+                                       ""
+                                       ""
+                                       ""
+                                       "")
                        endif()
                        if (NOT ((CMAKE_C_COMPILER_ID MATCHES "Clang") OR (CMAKE_CXX_COMPILER_ID MATCHES "Clang"))
                                AND LWS_WITH_LIBEVENT)
@@ -1286,9 +1295,9 @@ if (NOT LWS_WITHOUT_TESTAPPS)
                                        "test-server/test-server-libevent.c"
                                        "test-server/test-server-http.c"
                                        "test-server/test-server-dumb-increment.c"
-                                       "test-server/test-server-mirror.c"
-                                       "test-server/test-server-status.c"
-                                       "test-server/test-server-echogen.c")
+                                       ""
+                                       ""
+                                       "")
                        endif()
                endif()
 
@@ -1299,9 +1308,9 @@ if (NOT LWS_WITHOUT_TESTAPPS)
                        create_test_app(test-server-extpoll "test-server/test-server.c"
                                "test-server/test-server-http.c"
                                "test-server/test-server-dumb-increment.c"
-                               "test-server/test-server-mirror.c"
-                               "test-server/test-server-status.c"
-                               "test-server/test-server-echogen.c")
+                               ""
+                               ""
+                               "")
                        # Set defines for this executable only.
                        set_property(
                                TARGET test-server-extpoll
@@ -1434,6 +1443,8 @@ if (NOT LWS_WITHOUT_TESTAPPS)
                endmacro()
                
 
+               create_plugin(protocol_lws_meta
+                             "plugins/protocol_lws_meta.c" "" "")
                create_plugin(protocol_dumb_increment
                              "plugins/protocol_dumb_increment.c" "" "")
                create_plugin(protocol_lws_mirror
@@ -1551,6 +1562,7 @@ includedir=\${prefix}/include
 Name: libwebsockets
 Description: Websockets server and client library
 Version: ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
+Requires: openssl
 
 Libs: -L\${libdir} -lwebsockets
 Cflags: -I\${includedir}"
@@ -1568,6 +1580,7 @@ includedir=\${prefix}/include
 Name: libwebsockets_static
 Description: Websockets server and client static library
 Version: ${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}
+Requires: openssl
 
 Libs: -L\${libdir} -lwebsockets_static
 Libs.private:
@@ -1647,8 +1660,8 @@ set(CPACK_COMPONENT_LIBRARIES_DISPLAY_NAME "Libraries")
 set(CPACK_COMPONENT_DEV_DISPLAY_NAME "Development files")
 
 # Install test apps.
-if (NOT LWS_WITHOUT_TESTAPPS AND NOT LWS_WITHOUT_CLIENT)
-       install(TARGETS test-client ${TEST_APP_LIST}
+if (NOT LWS_WITHOUT_TESTAPPS)
+       install(TARGETS ${TEST_APP_LIST}
                        RUNTIME DESTINATION ${LWS_INSTALL_EXAMPLES_DIR}
                        COMPONENT examples)
        set(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "Example files")
@@ -1804,6 +1817,7 @@ message(" LWS_HAVE_LIBCAP = ${LWS_HAVE_LIBCAP}")
 message(" LWS_HAVE_ATOLL = ${LWS_HAVE_ATOLL}")
 message(" LWS_HAVE__ATOI64 = ${LWS_HAVE__ATOI64}")
 message(" LWS_HAVE_STAT32I64 = ${LWS_HAVE_STAT32I64}")
+message(" LWS_HAS_INTPTR_T = ${LWS_HAS_INTPTR_T}")
 
 message("---------------------------------------------------------------------")