diff options
Diffstat (limited to 'vcpkg/ports/wt')
| -rw-r--r-- | vcpkg/ports/wt/0005-XML_file_path.patch | 17 | ||||
| -rw-r--r-- | vcpkg/ports/wt/0006-GraphicsMagick.patch | 31 | ||||
| -rw-r--r-- | vcpkg/ports/wt/portfile.cmake | 98 | ||||
| -rw-r--r-- | vcpkg/ports/wt/vcpkg.json | 117 |
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" + ] + } + ] + } + } +} |