@@ -586,6 +586,8 @@ if (CMAKE_TOOLCHAIN_FILE)
586586endif ()
587587
588588if (WIN32 )
589+ message (STATUS "LWS_BUILTIN_PLUGIN_NAMES: ${LWS_BUILTIN_PLUGIN_NAMES} " )
590+ message (STATUS "CONFIG_SCOPE: ${LWS_BUILTIN_PLUGIN_NAMES} " )
589591 configure_file (${CMAKE_CURRENT_SOURCE_DIR } /win32port/version.rc.in ${CMAKE_CURRENT_BINARY_DIR } /win32port/version.rc @ONLY )
590592 set (RESOURCES ${CMAKE_CURRENT_BINARY_DIR } /win32port/version.rc)
591593 include_directories ("${CMAKE_CURRENT_SOURCE_DIR } /win32port/win32helpers" )
@@ -1194,6 +1196,27 @@ endif()
11941196
11951197if (LWS_WITH_PLUGINS_BUILTIN)
11961198 add_subdirectory (plugins )
1199+
1200+ set (PLUGIN_EXTERNS "" )
1201+ set (PLUGIN_PTRS "" )
1202+ foreach (PLUGIN ${LWS_BUILTIN_PLUGIN_NAMES} )
1203+ string (REGEX MATCH "^[^_-]+[-_](.*)$" MATCHED "${PLUGIN} " )
1204+ set (PLUGIN_STRUCT_NAME ${CMAKE_MATCH_1} )
1205+ string (APPEND PLUGIN_EXTERNS "extern const lws_plugin_protocol_t ${PLUGIN_STRUCT_NAME} ;\n " )
1206+ string (APPEND PLUGIN_PTRS " &${PLUGIN_STRUCT_NAME} ,\n " )
1207+ endforeach ()
1208+
1209+ set (PLUGIN_BUILTIN_C_CONTENT "
1210+ /* Generated by CMake */
1211+ #include <libwebsockets.h>
1212+ ${PLUGIN_EXTERNS}
1213+ const lws_plugin_protocol_t *builtin_pcols[] = {
1214+ ${PLUGIN_PTRS}
1215+ NULL
1216+ };
1217+ " )
1218+ file (WRITE "${PROJECT_BINARY_DIR } /lws_builtin_plugin_pcols.c" "${PLUGIN_BUILTIN_C_CONTENT} " )
1219+ list (APPEND SOURCES "${PROJECT_BINARY_DIR } /lws_builtin_plugin_pcols.c" )
11971220endif ()
11981221
11991222
@@ -1216,15 +1239,21 @@ else()
12161239 set (DEF_INSTALL_CMAKE_DIR ${CMAKE_INSTALL_LIBDIR} /cmake/libwebsockets)
12171240endif ()
12181241
1242+ message (STATUS "LWS_BUILTIN_PLUGIN_NAMES: ${LWS_BUILTIN_PLUGIN_NAMES} " )
1243+ message (STATUS "CONFIG_SCOPE: ${LWS_BUILTIN_PLUGIN_NAMES} " )
12191244configure_file (${PROJECT_SOURCE_DIR } /cmake/LwsCheckRequirements.cmake
12201245 ${PROJECT_BINARY_DIR }${CMAKE_FILES_DIRECTORY} /LwsCheckRequirements.cmake
12211246 @ONLY )
12221247
1248+ message (STATUS "LWS_BUILTIN_PLUGIN_NAMES: ${LWS_BUILTIN_PLUGIN_NAMES} " )
1249+ message (STATUS "CONFIG_SCOPE: ${LWS_BUILTIN_PLUGIN_NAMES} " )
12231250configure_file (${PROJECT_SOURCE_DIR } /cmake/LwsCheckRequirements.cmake
12241251 ${PROJECT_BINARY_DIR } /LwsCheckRequirements.cmake
12251252 @ONLY )
12261253
12271254# Generate version info for both build-tree and install-tree.
1255+ message (STATUS "LWS_BUILTIN_PLUGIN_NAMES: ${LWS_BUILTIN_PLUGIN_NAMES} " )
1256+ message (STATUS "CONFIG_SCOPE: ${LWS_BUILTIN_PLUGIN_NAMES} " )
12281257configure_file (${PROJECT_SOURCE_DIR } /cmake/libwebsockets-config-version.cmake.in
12291258 ${PROJECT_BINARY_DIR } /libwebsockets-config-version.cmake
12301259 @ONLY )
@@ -1234,6 +1263,8 @@ set(LWS__INCLUDE_DIRS
12341263 "${PROJECT_SOURCE_DIR } /lib"
12351264 "${PROJECT_BINARY_DIR } " )
12361265set (LIBWEBSOCKETS_INCLUDE_DIRS ${LWS__INCLUDE_DIRS} CACHE PATH "Libwebsockets include directories" )
1266+ message (STATUS "LWS_BUILTIN_PLUGIN_NAMES: ${LWS_BUILTIN_PLUGIN_NAMES} " )
1267+ message (STATUS "CONFIG_SCOPE: ${LWS_BUILTIN_PLUGIN_NAMES} " )
12371268configure_file (${PROJECT_SOURCE_DIR } /cmake/libwebsockets-config.cmake.in
12381269 ${PROJECT_BINARY_DIR } /libwebsockets-config.cmake
12391270 @ONLY )
@@ -1275,6 +1306,8 @@ if (LWS_WITH_MCUFONT_ENCODER)
12751306endif ()
12761307
12771308# Generate the lws_config.h that includes all the public compilation settings.
1309+ message (STATUS "LWS_BUILTIN_PLUGIN_NAMES: ${LWS_BUILTIN_PLUGIN_NAMES} " )
1310+ message (STATUS "CONFIG_SCOPE: ${LWS_BUILTIN_PLUGIN_NAMES} " )
12781311configure_file (
12791312 "${PROJECT_SOURCE_DIR } /cmake/lws_config.h.in"
12801313 "${PROJECT_BINARY_DIR } /lws_config.h" )
@@ -1344,7 +1377,7 @@ file(RELATIVE_PATH
13441377 "${LWS_ABSOLUTE_INSTALL_INCLUDE_DIR} " ) # Calculate the relative directory from the cmake dir.
13451378
13461379if (DEFINED REL_INCLUDE_DIR)
1347- set (LWS__INCLUDE_DIRS "\ $ {LWS_CMAKE_DIR}/${REL_INCLUDE_DIR} " )
1380+ set (LWS__INCLUDE_DIRS "${LWS_CMAKE_DIR} /${REL_INCLUDE_DIR} " )
13481381endif ()
13491382
13501383set (STRIPPED_LIB_LIST_AT_END "" )
@@ -1359,6 +1392,8 @@ foreach(lib_path IN LISTS LIB_LIST_AT_END)
13591392endforeach ()
13601393set (LIB_LIST_AT_END ${STRIPPED_LIB_LIST_AT_END} )
13611394
1395+ message (STATUS "LWS_BUILTIN_PLUGIN_NAMES: ${LWS_BUILTIN_PLUGIN_NAMES} " )
1396+ message (STATUS "CONFIG_SCOPE: ${LWS_BUILTIN_PLUGIN_NAMES} " )
13621397configure_file (${PROJECT_SOURCE_DIR } /cmake/libwebsockets-config.cmake.in
13631398 ${PROJECT_BINARY_DIR }${CMAKE_FILES_DIRECTORY} /libwebsockets-config.cmake
13641399 @ONLY )
0 commit comments