Skip to content

Commit

Permalink
Wt Linux fixes (#4927)
Browse files Browse the repository at this point in the history
* [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
  • Loading branch information
koprok authored and ras0219-msft committed Dec 18, 2018
1 parent 411d133 commit ffbff8c
Show file tree
Hide file tree
Showing 9 changed files with 65 additions and 8 deletions.
3 changes: 2 additions & 1 deletion ports/cairo/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion ports/cairo/CONTROL
Original file line number Diff line number Diff line change
@@ -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
2 changes: 1 addition & 1 deletion ports/harfbuzz/CONTROL
Original file line number Diff line number Diff line change
@@ -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
Expand Down
6 changes: 4 additions & 2 deletions ports/harfbuzz/glib-cmake.patch
Original file line number Diff line number Diff line change
@@ -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)

Expand All @@ -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)
Expand Down
2 changes: 2 additions & 0 deletions ports/pango/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion ports/pango/CONTROL
Original file line number Diff line number Diff line change
@@ -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)
46 changes: 46 additions & 0 deletions ports/wt/0004-link-ssl.patch
Original file line number Diff line number Diff line change
@@ -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)
2 changes: 1 addition & 1 deletion ports/wt/CONTROL
Original file line number Diff line number Diff line change
@@ -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
8 changes: 7 additions & 1 deletion ports/wt/portfile.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand All @@ -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()

0 comments on commit ffbff8c

Please sign in to comment.