From b4e1ffcdbfe8dc98036a16022cbcc422385c1834 Mon Sep 17 00:00:00 2001 From: DRC Date: Tue, 23 Aug 2022 10:07:10 -0500 Subject: [PATCH] Build: Find Xfont2/fontenc/Pixman using pkg-config ... when TVNC_SYSTEMX11=1. Referring to #339, we can't assume that these libraries will share include/library paths with libX11. This commit reverts e9cb8665dc3822b33dc0ffc5571fce5a759e7cb9. Rebased on 3.0.1 by Maxim Cournoyer diff --git a/unix/Xvnc/CMakeLists.txt b/unix/Xvnc/CMakeLists.txt index 064feda..293f794 100644 --- a/unix/Xvnc/CMakeLists.txt +++ b/unix/Xvnc/CMakeLists.txt @@ -94,11 +94,13 @@ if(NOT TVNC_SYSTEMX11) endif() if(TVNC_SYSTEMX11) + include(FindPkgConfig) + pkg_check_modules(X11_Xfont2 REQUIRED xfont2) + pkg_check_modules(X11_Fontenc REQUIRED fontenc) + pkg_check_modules(X11_Pixman REQUIRED pixman-1) include_directories(${X11_X11_INCLUDE_PATH} ${X11_Xau_INCLUDE_PATH} - ${X11_Xdmcp_INCLUDE_PATH} ${X11_Xkbfile_INCLUDE_PATH}) - string(REGEX REPLACE "X11" "Xfont2" X11_Xfont2_LIB ${X11_X11_LIB}) - string(REGEX REPLACE "X11" "fontenc" X11_Fontenc_LIB ${X11_X11_LIB}) - string(REGEX REPLACE "X11" "pixman-1" X11_Pixman_LIB ${X11_X11_LIB}) + ${X11_Xdmcp_INCLUDE_PATH} ${X11_Xkbfile_INCLUDE_PATH} + ${X11_Xfont2_INCLUDEDIR} ${X11_Pixman_INCLUDEDIR}/pixman-1) else() include_directories(${CMAKE_CURRENT_BINARY_DIR}/X_include) set(X11_Xau_LIB Xau) diff --git a/unix/Xvnc/programs/Xserver/CMakeLists.txt b/unix/Xvnc/programs/Xserver/CMakeLists.txt index 8c05d43..f8d8f76 100644 --- a/unix/Xvnc/programs/Xserver/CMakeLists.txt +++ b/unix/Xvnc/programs/Xserver/CMakeLists.txt @@ -182,9 +182,10 @@ if(HAVE_MONOTONIC_CLOCK) endif() target_link_libraries(Xvnc dix mi vnc fb Xi composite mi damage damageext randr record render os present Xext-server sync xfixes xkb ${X11_Xau_LIB} - ${X11_Xdmcp_LIB} ${X11_Xfont2_LIB} ${X11_Fontenc_LIB} ${FREETYPE_LIBRARIES} - ${X11_Pixman_LIB} sha1 ${TJPEG_LIBRARY} ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} - vncauth m pthread ${PAM_LIB} ${EXTRA_LIB}) + ${X11_Xdmcp_LIB} ${X11_Xfont2_LDFLAGS} ${X11_Fontenc_LDFLAGS} + ${FREETYPE_LIBRARIES} ${X11_Pixman_LDFLAGS} sha1 ${TJPEG_LIBRARY} + ${ZLIB_LIBRARIES} ${BZIP2_LIBRARIES} vncauth m pthread ${PAM_LIB} + ${EXTRA_LIB}) if(APPLE OR CMAKE_SYSTEM_NAME MATCHES "(OpenBSD|FreeBSD|NetBSD|DragonFly)") find_library(ICONV_LIBRARIES NAMES iconv) target_link_libraries(Xvnc ${ICONV_LIBRARIES})