aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/wt
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/wt')
-rw-r--r--vcpkg/ports/wt/0005-XML_file_path.patch17
-rw-r--r--vcpkg/ports/wt/0006-GraphicsMagick.patch31
-rw-r--r--vcpkg/ports/wt/portfile.cmake98
-rw-r--r--vcpkg/ports/wt/vcpkg.json117
4 files changed, 263 insertions, 0 deletions
diff --git a/vcpkg/ports/wt/0005-XML_file_path.patch b/vcpkg/ports/wt/0005-XML_file_path.patch
new file mode 100644
index 0000000..52a6703
--- /dev/null
+++ b/vcpkg/ports/wt/0005-XML_file_path.patch
@@ -0,0 +1,17 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 96eff0a..c31fd49 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -111,7 +111,11 @@ SET(CMAKE_INSTALL_DIR "${LIB_INSTALL_DIR}/cmake" CACHE STRING
+
+ IF(WIN32)
+
+- SET(RUNDIR "c:/witty") # Does not apply to win32
++ if (NOT INSTALL_CONFIG_FILE_PATH)
++ SET(RUNDIR "c:/witty") # Does not apply to win32
++ else()
++ SET(RUNDIR ${INSTALL_CONFIG_FILE_PATH}) # Does not apply to win32
++ endif()
+
+ IF(NOT DEFINED CONFIGDIR)
+ SET(CONFIGDIR ${RUNDIR} CACHE STRING "Path for the configuration files")
diff --git a/vcpkg/ports/wt/0006-GraphicsMagick.patch b/vcpkg/ports/wt/0006-GraphicsMagick.patch
new file mode 100644
index 0000000..03ea068
--- /dev/null
+++ b/vcpkg/ports/wt/0006-GraphicsMagick.patch
@@ -0,0 +1,31 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 96eff0a..c31fd49 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -352,9 +356,9 @@ SET(WT_WRASTERIMAGE_IMPLEMENTATION ${WT_WRASTERIMAGE_DEFAULT_IMPLEMENTATION} CAC
+ SET_PROPERTY(CACHE WT_WRASTERIMAGE_IMPLEMENTATION PROPERTY STRINGS GraphicsMagick Direct2D none)
+
+ IF (${WT_WRASTERIMAGE_IMPLEMENTATION} STREQUAL "GraphicsMagick")
+- IF (NOT GM_FOUND)
++ IF (0)
+ MESSAGE(FATAL_ERROR "WT_WRASTERIMAGE_IMPLEMENTATION set to GraphicsMagick but GM is not found. Indicate the location of your graphicsmagick library using -DGM_PREFIX=...")
+- ENDIF (NOT GM_FOUND)
++ ENDIF ()
+ SET(WT_HAS_WRASTERIMAGE true)
+ ELSEIF (${WT_WRASTERIMAGE_IMPLEMENTATION} STREQUAL "Direct2D")
+ IF (WIN32)
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 4bc0e5d..eb52234 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -637,8 +637,8 @@ else()
+ endif()
+
+ IF("${WT_WRASTERIMAGE_IMPLEMENTATION}" STREQUAL "GraphicsMagick")
+- TARGET_LINK_LIBRARIES(wt PRIVATE ${GM_LIBRARIES})
+- INCLUDE_DIRECTORIES(${GM_INCLUDE_DIRS})
++ find_package(unofficial-graphicsmagick REQUIRED)
++ TARGET_LINK_LIBRARIES(wt PRIVATE unofficial::graphicsmagick::graphicsmagick)
+ ADD_DEFINITIONS(-DHAVE_GRAPHICSMAGICK)
+ ELSEIF("${WT_WRASTERIMAGE_IMPLEMENTATION}" STREQUAL "Direct2D")
+ TARGET_LINK_LIBRARIES(wt PRIVATE d2d1 dwrite windowscodecs shlwapi)
diff --git a/vcpkg/ports/wt/portfile.cmake b/vcpkg/ports/wt/portfile.cmake
new file mode 100644
index 0000000..4075e89
--- /dev/null
+++ b/vcpkg/ports/wt/portfile.cmake
@@ -0,0 +1,98 @@
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO emweb/wt
+ REF "${VERSION}"
+ SHA512 89754567b823105de694ee1c2f6e8cecd0b6c1231531f2b791ff95f29039567273329ac9ecc612a96e44232cf80371e947a7a424903c2be8e8c14d0d7260e4d5
+ HEAD_REF master
+ PATCHES
+ 0005-XML_file_path.patch
+ 0006-GraphicsMagick.patch
+)
+
+string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS)
+
+vcpkg_check_features(
+ OUT_FEATURE_OPTIONS
+ FEATURE_OPTIONS
+ FEATURES
+ dbo ENABLE_LIBWTDBO
+ postgresql ENABLE_POSTGRES
+ sqlite3 ENABLE_SQLITE
+ sqlserver ENABLE_MSSQLSERVER
+ openssl ENABLE_SSL
+)
+
+if(VCPKG_TARGET_IS_WINDOWS)
+ set(WT_PLATFORM_SPECIFIC_OPTIONS
+ -DWT_WRASTERIMAGE_IMPLEMENTATION=Direct2D
+ -DCONNECTOR_ISAPI=ON
+ -DENABLE_PANGO=OFF)
+else()
+ set(WT_PLATFORM_SPECIFIC_OPTIONS
+ -DCONNECTOR_FCGI=OFF
+ -DENABLE_PANGO=ON
+ -DHARFBUZZ_INCLUDE_DIR=${CURRENT_INSTALLED_DIR}/include/harfbuzz)
+
+ if ("graphicsmagick" IN_LIST FEATURES)
+ list(APPEND WT_PLATFORM_SPECIFIC_OPTIONS
+ -DWT_WRASTERIMAGE_IMPLEMENTATION=GraphicsMagick)
+ else()
+ list(APPEND WT_PLATFORM_SPECIFIC_OPTIONS
+ -DWT_WRASTERIMAGE_IMPLEMENTATION=none)
+ endif()
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ GENERATOR Ninja
+ OPTIONS
+ -DINSTALL_CONFIG_FILE_PATH="${DOWNLOADS}/wt"
+ -DSHARED_LIBS=${SHARED_LIBS}
+ -DBOOST_DYNAMIC=${SHARED_LIBS}
+ -DBUILD_EXAMPLES=OFF
+ -DBUILD_TESTS=OFF
+
+ -DWTHTTP_CONFIGURATION=
+ -DCONFIGURATION=
+
+ -DCONNECTOR_HTTP=ON
+ -DENABLE_HARU=ON
+ -DHARU_DYNAMIC=${SHARED_LIBS}
+ -DENABLE_MYSQL=OFF
+ -DENABLE_FIREBIRD=OFF
+ -DENABLE_QT4=OFF
+ -DENABLE_QT5=OFF
+ -DENABLE_LIBWTTEST=ON
+ -DENABLE_OPENGL=ON
+
+ ${FEATURE_OPTIONS}
+ ${WT_PLATFORM_SPECIFIC_OPTIONS}
+
+ -DUSE_SYSTEM_SQLITE3=ON
+
+ -DCMAKE_INSTALL_DIR=share
+ # see https://redmine.webtoolkit.eu/issues/9646
+ -DWTHTTP_CONFIGURATION=
+ -DCONFIGURATION=
+
+ "-DUSERLIB_PREFIX=${CURRENT_INSTALLED_DIR}"
+ MAYBE_UNUSED_VARIABLES
+ USE_SYSTEM_SQLITE3
+
+)
+
+vcpkg_cmake_install()
+vcpkg_cmake_config_fixup()
+
+# There is no way to suppress installation of the headers and resource files in debug build.
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include" "${CURRENT_PACKAGES_DIR}/debug/share")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/var" "${CURRENT_PACKAGES_DIR}/debug/var")
+
+# RUNDIR is only used for wtfcgi what we don't build. See https://redmine.webtoolkit.eu/issues/9646
+file(READ "${CURRENT_PACKAGES_DIR}/include/Wt/WConfig.h" W_CONFIG_H)
+string(REGEX REPLACE "([\r\n])#define RUNDIR[^\r\n]+" "\\1// RUNDIR intentionally unset by vcpkg" W_CONFIG_H "${W_CONFIG_H}")
+file(WRITE "${CURRENT_PACKAGES_DIR}/include/Wt/WConfig.h" "${W_CONFIG_H}")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
+vcpkg_copy_pdbs()
diff --git a/vcpkg/ports/wt/vcpkg.json b/vcpkg/ports/wt/vcpkg.json
new file mode 100644
index 0000000..aff4711
--- /dev/null
+++ b/vcpkg/ports/wt/vcpkg.json
@@ -0,0 +1,117 @@
+{
+ "name": "wt",
+ "version": "4.12.0",
+ "description": "Wt is a C++ library for developing web applications",
+ "homepage": "https://github.com/emweb/wt",
+ "license": "GPL-2.0-only",
+ "supports": "!xbox",
+ "dependencies": [
+ "boost-algorithm",
+ "boost-array",
+ "boost-asio",
+ "boost-bind",
+ "boost-config",
+ "boost-container-hash",
+ "boost-filesystem",
+ "boost-foreach",
+ "boost-fusion",
+ "boost-interprocess",
+ "boost-lexical-cast",
+ "boost-logic",
+ "boost-math",
+ "boost-multi-index",
+ "boost-optional",
+ "boost-phoenix",
+ "boost-pool",
+ "boost-program-options",
+ "boost-range",
+ "boost-serialization",
+ "boost-smart-ptr",
+ "boost-spirit",
+ "boost-system",
+ "boost-thread",
+ "boost-tokenizer",
+ "boost-tuple",
+ "boost-ublas",
+ "boost-variant",
+ "glew",
+ {
+ "name": "harfbuzz",
+ "platform": "!windows"
+ },
+ "libharu",
+ "libpng",
+ {
+ "name": "pango",
+ "platform": "!windows"
+ },
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ },
+ "zlib"
+ ],
+ "default-features": [
+ "openssl"
+ ],
+ "features": {
+ "dbo": {
+ "description": "Wt::Dbo"
+ },
+ "graphicsmagick": {
+ "description": "WRasterImage support on non-Windows based on GraphicsMagick",
+ "dependencies": [
+ "graphicsmagick"
+ ]
+ },
+ "openssl": {
+ "description": "TLS support",
+ "dependencies": [
+ "openssl"
+ ]
+ },
+ "postgresql": {
+ "description": "Wt::Dbo PostgreSQL backend",
+ "dependencies": [
+ "libpq",
+ {
+ "name": "wt",
+ "features": [
+ "dbo"
+ ]
+ }
+ ]
+ },
+ "sqlite3": {
+ "description": "Wt::Dbo Sqlite 3 backend",
+ "dependencies": [
+ "sqlite3",
+ {
+ "name": "wt",
+ "features": [
+ "dbo"
+ ]
+ }
+ ]
+ },
+ "sqlserver": {
+ "description": "Wt::Dbo MS SQL Server backend",
+ "dependencies": [
+ {
+ "name": "unixodbc",
+ "platform": "!windows"
+ },
+ {
+ "name": "wt",
+ "features": [
+ "dbo"
+ ]
+ }
+ ]
+ }
+ }
+}