aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/webui
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/webui')
-rw-r--r--vcpkg/ports/webui/CMakeLists.txt53
-rw-r--r--vcpkg/ports/webui/portfile.cmake28
-rw-r--r--vcpkg/ports/webui/vcpkg.json26
3 files changed, 107 insertions, 0 deletions
diff --git a/vcpkg/ports/webui/CMakeLists.txt b/vcpkg/ports/webui/CMakeLists.txt
new file mode 100644
index 0000000..5d598e4
--- /dev/null
+++ b/vcpkg/ports/webui/CMakeLists.txt
@@ -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
+)
diff --git a/vcpkg/ports/webui/portfile.cmake b/vcpkg/ports/webui/portfile.cmake
new file mode 100644
index 0000000..0b0896e
--- /dev/null
+++ b/vcpkg/ports/webui/portfile.cmake
@@ -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")
diff --git a/vcpkg/ports/webui/vcpkg.json b/vcpkg/ports/webui/vcpkg.json
new file mode 100644
index 0000000..1059c0c
--- /dev/null
+++ b/vcpkg/ports/webui/vcpkg.json
@@ -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"
+ ]
+ }
+ }
+}