Wt Linux fixes (#4927)

* [harfbuzz] Fix build on Linux

* [cairo] Fix build on Linux

* [pango] Fix build on Linux

* [wt] Fix build on Linux

* [wt] Fix linking with -lcrypto
This commit is contained in:
Todor Prokopov 2018-12-18 02:30:27 +02:00 committed by Robert Schumacher
parent 411d1332ad
commit ffbff8caab
9 changed files with 65 additions and 8 deletions

View File

@ -160,6 +160,7 @@ endif()
set(CMAKE_DEBUG_POSTFIX "d")
find_package(Threads REQUIRED)
find_package(ZLIB REQUIRED)
find_package(PNG REQUIRED)
find_package(Freetype REQUIRED)
@ -176,7 +177,7 @@ add_definitions(
-DHAVE_FT_GET_X11_FONT_FORMAT=1)
# additional features for macOS
if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
if((CMAKE_SYSTEM_NAME STREQUAL "Darwin") OR (CMAKE_SYSTEM_NAME STREQUAL "Linux"))
add_definitions(
-DHAVE_INTTYPES_H=1
-DHAVE_STDINT_H=1

View File

@ -1,4 +1,4 @@
Source: cairo
Version: 1.15.8-3
Version: 1.15.8-4
Description: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.
Build-Depends: zlib, libpng, pixman, glib, freetype, fontconfig

View File

@ -1,5 +1,5 @@
Source: harfbuzz
Version: 1.8.4-2
Version: 1.8.4-3
Description: HarfBuzz OpenType text shaping engine
Build-Depends: freetype, ragel
Default-Features: ucdn

View File

@ -1,8 +1,8 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 3c52731..8305f27 100644
index 2d6e77e8..36e4b4e6 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -314,22 +314,12 @@ endif ()
@@ -306,22 +306,14 @@ endif ()
if (HB_HAVE_GLIB)
add_definitions(-DHAVE_GLIB)
@ -15,6 +15,8 @@ index 3c52731..8305f27 100644
- find_path(GLIB_INCLUDE_DIR NAMES glib.h HINTS ${PC_GLIB_INCLUDEDIR} ${PC_GLIB_INCLUDE_DIRS} PATH_SUFFIXES glib-2.0)
-
- include_directories(${GLIBCONFIG_INCLUDE_DIR} ${GLIB_INCLUDE_DIR})
+ find_package(Threads REQUIRED)
+ find_package(unofficial-iconv REQUIRED)
+ find_package(unofficial-glib CONFIG REQUIRED)
list(APPEND project_sources ${PROJECT_SOURCE_DIR}/src/hb-glib.cc)

View File

@ -14,9 +14,11 @@ endif()
add_definitions(-DHAVE_CONFIG_H)
include_directories(. ./pango ${CMAKE_CURRENT_BINARY_DIR})
if(NOT CMAKE_SYSTEM_NAME STREQUAL "Linux")
# find libintl
find_path(LIBINTL_INCLUDE_DIR libintl.h)
find_library(LIBINTL_LIBRARY NAMES libintl intl)
endif()
# find glib
find_path(GLIB_INCLUDE_DIR glib.h)

View File

@ -1,4 +1,4 @@
Source: pango
Version: 1.40.11-2
Version: 1.40.11-3
Description: Text and font handling library.
Build-Depends: glib, gettext, cairo, fontconfig, freetype, harfbuzz[glib] (!windows-static)

View File

@ -0,0 +1,46 @@
diff --git a/cmake/WtFindSsl.txt b/cmake/WtFindSsl.txt
index c5f7bbc8..6e2c2f4d 100644
--- a/cmake/WtFindSsl.txt
+++ b/cmake/WtFindSsl.txt
@@ -121,6 +121,16 @@ ELSEIF(APPLE)
/usr/local/lib
NO_DEFAULT_PATH
)
+ FIND_LIBRARY(CRYPTO_LIB
+ NAMES
+ crypto
+ PATHS
+ ${SSL_PREFIX}/lib
+ ${SSL_PREFIX}/lib/VC
+ /usr/lib
+ /usr/local/lib
+ NO_DEFAULT_PATH
+ )
ELSE (WIN32)
FIND_LIBRARY(SSL_LIB
NAMES
@@ -131,6 +141,15 @@ ELSE (WIN32)
/usr/lib
/usr/local/lib
)
+ FIND_LIBRARY(CRYPTO_LIB
+ NAMES
+ crypto
+ PATHS
+ ${SSL_PREFIX}/lib
+ ${SSL_PREFIX}/lib/VC
+ /usr/lib
+ /usr/local/lib
+ )
ENDIF (WIN32)
IF(SSL_LIB
@@ -144,7 +163,7 @@ IF(SSL_LIB
ENDIF(SSL_TOO_LIB)
ELSE(WIN32)
SET(SSL_FOUND true)
- SET(SSL_LIBRARIES ${SSL_LIB} -lcrypto)
+ SET(SSL_LIBRARIES ${SSL_LIB} ${CRYPTO_LIB})
ENDIF(WIN32)
ENDIF(SSL_LIB
AND SSL_INCLUDE_DIRS)

View File

@ -1,4 +1,4 @@
Source: wt
Version: 4.0.4
Version: 4.0.4-2
Description: Wt is a C++ library for developing web applications
Build-Depends: openssl, sqlite3, libpq, pango, glew, boost-date-time, boost-regex, boost-program-options, boost-signals, boost-system, boost-filesystem, boost-thread, boost-random, boost-multi-index, boost-signals2, boost-asio, boost-ublas, boost-conversion, boost-array, boost-smart-ptr, boost-tuple, boost-algorithm, boost-logic, boost-interprocess

View File

@ -10,6 +10,7 @@ vcpkg_from_github(
0001-boost-1.66.patch
0002-link-glew.patch
0003-disable-boost-autolink.patch
0004-link-ssl.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" SHARED_LIBS)
@ -36,13 +37,18 @@ vcpkg_configure_cmake(
-DUSE_SYSTEM_SQLITE3=ON
-DUSE_SYSTEM_GLEW=ON
-DCMAKE_INSTALL_DIR=share
)
vcpkg_install_cmake()
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/wt)
vcpkg_fixup_cmake_targets(CONFIG_PATH share/wt)
# 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)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/var)
file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/wt RENAME copyright)
vcpkg_copy_pdbs()