early-access version 2853

This commit is contained in:
pineappleEA
2022-07-23 03:01:36 +02:00
parent 1f2b5081b5
commit 1f111bb69c
8955 changed files with 418777 additions and 999 deletions

66
externals/vcpkg/ports/usockets/CMakeLists.txt vendored Executable file
View File

@@ -0,0 +1,66 @@
cmake_minimum_required(VERSION 3.13)
project(uSockets C CXX)
option(INSTALL_HEADERS "Install header files" ON)
if (CMAKE_USE_OPENSSL)
find_package(OpenSSL REQUIRED)
set(USE_OPENSSL "-DUSE_OPENSSL -DLIBUS_USE_OPENSSL")
#set(OPENSSL_LIB "OpenSSL::SSL OpenSSL::Crypto")
list(APPEND CMAKE_REQUIRED_INCLUDES ${OPENSSL_INCLUDE_DIR})
else()
set(NOT_USE_OPENSSL "-DLIBUS_NO_SSL")
endif()
find_package(unofficial-libuv CONFIG REQUIRED)
find_path(LIBUV_INCLUDE_DIR uv.h)
find_library(LIBUV_LIBRARY NAMES libuv)
include_directories(APPEND "${CMAKE_CURRENT_LIST_DIR}/src")
file(GLOB SOURCES src/*.c src/eventing/*.c)
set(USOCKETS_EXT_INCLUDE_DIR )
set(USOCKETS_EXT_LIBS )
if (CMAKE_USE_OPENSSL)
# It requires C++17 or later, see https://github.com/uNetworking/uSockets/blob/0ebdde0601cc82349fc11a7c4bbb6dc5c9f28f42/Makefile#L55
set(CMAKE_CXX_STANDARD 17)
find_package(OpenSSL REQUIRED)
file(GLOB SSL_SOURCES src/crypto/*.c*)
list(APPEND SOURCES ${SSL_SOURCES})
list(APPEND USOCKETS_EXT_LIBS OpenSSL::SSL OpenSSL::Crypto)
endif()
if (CMAKE_USE_EVENT)
file(GLOB SSL_SOURCES src/eventing/*.c)
list(APPEND SOURCES ${SSL_SOURCES})
list(APPEND USOCKETS_EXT_INCLUDE_DIR src/internal/eventing)
endif()
if (CMAKE_USE_NETWORK)
list(APPEND USOCKETS_EXT_INCLUDE_DIR src/internal/networking)
list(APPEND USOCKETS_EXT_LIBS Ws2_32)
endif()
add_library(uSockets ${SOURCES})
if (${LIBUS_USE_LIBUV})
target_compile_definitions(uSockets PRIVATE -DLIBUS_USE_LIBUV)
endif()
target_compile_definitions(uSockets PRIVATE ${NOT_USE_OPENSSL} ${USE_OPENSSL})
target_include_directories(uSockets PUBLIC ${OPENSSL_INCLUDE_DIR} ${LIBUV_INCLUDE_DIR} ${USOCKETS_EXT_INCLUDE_DIR})
target_link_libraries(uSockets PUBLIC ${OPENSSL_LIBRARIES} ${LIBUV_LIBRARY} ${USOCKETS_EXT_LIBS})
install(TARGETS uSockets
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
if(INSTALL_HEADERS)
file(GLOB HEADERS src/*.h)
install(FILES ${HEADERS} DESTINATION include)
file(GLOB HEADERS src/interfaces/*.h)
install(FILES ${HEADERS} DESTINATION include/interfaces)
endif()

39
externals/vcpkg/ports/usockets/portfile.cmake vendored Executable file
View File

@@ -0,0 +1,39 @@
if(NOT VCPKG_TARGET_IS_LINUX)
set(USE_LIBUV ON)
endif()
if ("network" IN_LIST FEATURES AND NOT VCPKG_TARGET_IS_WINDOWS)
message(FATAL_ERROR "Feature 'network' is only supported on Windows")
endif()
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO uNetworking/uSockets
REF v0.8.1
SHA512 B3AD6387E20731831A3A6086D7DE320CCD8F720FAD3237B65EE165236E3F30CBEC3E3B1384BF53BF0F274D7E57665DE79E3244F841455D2ADAFBF954B453437F
HEAD_REF master
)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
ssl CMAKE_USE_OPENSSL
event CMAKE_USE_EVENT
network CMAKE_USE_NETWORK
)
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
${FEATURE_OPTIONS}
"-DLIBUS_USE_LIBUV=${USE_LIBUV}"
OPTIONS_DEBUG
-DINSTALL_HEADERS=OFF
)
vcpkg_cmake_install()
file(INSTALL "${SOURCE_PATH}/LICENSE" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
vcpkg_copy_pdbs()

34
externals/vcpkg/ports/usockets/vcpkg.json vendored Executable file
View File

@@ -0,0 +1,34 @@
{
"name": "usockets",
"version": "0.8.1",
"description": "Miniscule cross-platform eventing, networking & crypto for async applications",
"homepage": "https://github.com/uNetworking/uSockets",
"dependencies": [
"libuv",
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"event": {
"description": "Build usockets with epoll support"
},
"network": {
"description": "Build usockets with winsock support",
"dependencies": [
"winsock2"
]
},
"ssl": {
"description": "Build usockets with openssl support",
"dependencies": [
"openssl"
]
}
}
}