mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-01-15 07:38:07 +08:00
[webui] Add new port (#43052)
Co-authored-by: jyu49 <yu_jack@apple.com>
This commit is contained in:
parent
3aebd5b88b
commit
1faad557cd
53
ports/webui/CMakeLists.txt
Normal file
53
ports/webui/CMakeLists.txt
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
cmake_minimum_required(VERSION 3.10)
|
||||||
|
|
||||||
|
# Project name
|
||||||
|
project(WebUILibrary)
|
||||||
|
|
||||||
|
# Set C++ standard
|
||||||
|
set(CMAKE_CXX_STANDARD 11)
|
||||||
|
|
||||||
|
# Variables for library names, source files, etc.
|
||||||
|
set(WEBUI_OUT_LIB_NAME "webui-2")
|
||||||
|
|
||||||
|
# Conditional compilation for TLS
|
||||||
|
option(WEBUI_USE_TLS "Enable TLS support" OFF)
|
||||||
|
if(WEBUI_USE_TLS)
|
||||||
|
find_package(OpenSSL REQUIRED)
|
||||||
|
set(WEBUI_OUT_LIB_NAME "webui-2-secure")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Source files (already filled)
|
||||||
|
set(SOURCE_FILES
|
||||||
|
src/civetweb/civetweb.c
|
||||||
|
src/webui.c
|
||||||
|
)
|
||||||
|
|
||||||
|
add_library(webui ${SOURCE_FILES})
|
||||||
|
target_include_directories(webui PUBLIC $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include> $<INSTALL_INTERFACE:include>)
|
||||||
|
target_compile_definitions(webui PUBLIC NDEBUG NO_CACHING NO_CGI USE_WEBSOCKET)
|
||||||
|
if(BUILD_SHARED_LIBS AND WIN32)
|
||||||
|
target_compile_definitions(webui PRIVATE CIVETWEB_DLL_EXPORTS PUBLIC CIVETWEB_DLL_IMPORTS)
|
||||||
|
endif()
|
||||||
|
if(WEBUI_USE_TLS)
|
||||||
|
target_compile_definitions(webui PUBLIC WEBUI_TLS WEBUI_TLS NO_SSL_DL OPENSSL_API_1_1)
|
||||||
|
target_link_libraries(webui PRIVATE OpenSSL::SSL OpenSSL::Crypto)
|
||||||
|
else()
|
||||||
|
target_compile_definitions(webui PUBLIC NO_SSL)
|
||||||
|
endif()
|
||||||
|
set_target_properties(webui PROPERTIES
|
||||||
|
OUTPUT_NAME ${WEBUI_OUT_LIB_NAME}
|
||||||
|
PREFIX "")
|
||||||
|
|
||||||
|
install(FILES include/webui.h include/webui.hpp DESTINATION include)
|
||||||
|
|
||||||
|
# Install targets
|
||||||
|
install(TARGETS webui
|
||||||
|
EXPORT unofficial-webui
|
||||||
|
ARCHIVE DESTINATION lib
|
||||||
|
LIBRARY DESTINATION lib)
|
||||||
|
|
||||||
|
install(EXPORT unofficial-webui
|
||||||
|
FILE unofficial-webui-config.cmake
|
||||||
|
NAMESPACE unofficial::webui::
|
||||||
|
DESTINATION share/unofficial-webui
|
||||||
|
)
|
28
ports/webui/portfile.cmake
Normal file
28
ports/webui/portfile.cmake
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
vcpkg_from_github(
|
||||||
|
OUT_SOURCE_PATH SOURCE_PATH
|
||||||
|
REPO webui-dev/webui
|
||||||
|
REF "${VERSION}"
|
||||||
|
SHA512 b82321195d0684c11380691ec07e359b348c7a73c649f3f55c45e2748051b7fdd17925bdc96dc32824eb8fde74bf54bb7d778ac5384c1bb47c7841586fe54033
|
||||||
|
HEAD_REF master
|
||||||
|
)
|
||||||
|
|
||||||
|
file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
|
||||||
|
|
||||||
|
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||||
|
FEATURES
|
||||||
|
tls WEBUI_USE_TLS
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_cmake_configure(
|
||||||
|
SOURCE_PATH "${SOURCE_PATH}"
|
||||||
|
OPTIONS
|
||||||
|
${FEATURE_OPTIONS}
|
||||||
|
)
|
||||||
|
|
||||||
|
vcpkg_cmake_install()
|
||||||
|
|
||||||
|
vcpkg_cmake_config_fixup(PACKAGE_NAME unofficial-webui)
|
||||||
|
|
||||||
|
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
|
||||||
|
|
||||||
|
vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
|
26
ports/webui/vcpkg.json
Normal file
26
ports/webui/vcpkg.json
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
{
|
||||||
|
"name": "webui",
|
||||||
|
"version": "2.4.2",
|
||||||
|
"description": "Use any web browser or WebView as GUI, with your preferred language in the backend and modern web technologies in the frontend, all in a lightweight portable library.",
|
||||||
|
"homepage": "https://github.com/webui-dev/webui",
|
||||||
|
"license": "MIT",
|
||||||
|
"supports": "!uwp & !(arm32 & android)",
|
||||||
|
"dependencies": [
|
||||||
|
{
|
||||||
|
"name": "vcpkg-cmake",
|
||||||
|
"host": true
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"name": "vcpkg-cmake-config",
|
||||||
|
"host": true
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"features": {
|
||||||
|
"tls": {
|
||||||
|
"description": "Enable TLS support",
|
||||||
|
"dependencies": [
|
||||||
|
"openssl"
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -9644,6 +9644,10 @@
|
|||||||
"baseline": "1.0.5",
|
"baseline": "1.0.5",
|
||||||
"port-version": 1
|
"port-version": 1
|
||||||
},
|
},
|
||||||
|
"webui": {
|
||||||
|
"baseline": "2.4.2",
|
||||||
|
"port-version": 0
|
||||||
|
},
|
||||||
"webview2": {
|
"webview2": {
|
||||||
"baseline": "1.0.2277.86",
|
"baseline": "1.0.2277.86",
|
||||||
"port-version": 0
|
"port-version": 0
|
||||||
|
9
versions/w-/webui.json
Normal file
9
versions/w-/webui.json
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
{
|
||||||
|
"versions": [
|
||||||
|
{
|
||||||
|
"git-tree": "ecb4ddbc58fde612c9aeb6003f11c057460eb4c3",
|
||||||
|
"version": "2.4.2",
|
||||||
|
"port-version": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user