ports/sysutils/ttyd/files/patch-CMakeLists.txt
Daniel Engberg 35c73981e5 sysutils/ttyd: Only link with shared library
Due to how upstream handles libraries ttyd picks up both static and
shared library of libwebsockets which is not intended. The least
intrusive way I found is to simply detect it using pkgconfig instead.
While at it, disable check for git to determine version.

Reported by:	Jeff Schmidt <jeff.jschmidt@gmail.com>
Approved by:	portmgr (blanket, build fix)
2023-02-22 02:45:27 +01:00

20 lines
875 B
Text

--- CMakeLists.txt.orig 2023-01-18 03:42:54 UTC
+++ CMakeLists.txt
@@ -58,11 +58,15 @@ if(JSON-C_FOUND)
SET(JSON-C_LIBRARIES "${JSON-C_LIBRARY}")
endif()
+find_package(PkgConfig REQUIRED)
find_package(ZLIB REQUIRED)
-find_package(Libwebsockets 3.2.0 REQUIRED)
+pkg_search_module(LIBWEBSOCKETS REQUIRED libwebsockets>=3.2.0)
+if(LIBWEBSOCKETS_FOUND)
+ message(STATUS "Found LIBWEBSOCKETS: ${LIBWEBSOCKETS_LINK_LIBRARIES} - Version: ${LIBWEBSOCKETS_VERSION}")
+endif()
set(INCLUDE_DIRS ${ZLIB_INCLUDE_DIR} ${LIBWEBSOCKETS_INCLUDE_DIRS} ${JSON-C_INCLUDE_DIRS} ${LIBUV_INCLUDE_DIRS})
-set(LINK_LIBS ${ZLIB_LIBRARIES} ${LIBWEBSOCKETS_LIBRARIES} ${JSON-C_LIBRARIES} ${LIBUV_LIBRARIES})
+set(LINK_LIBS ${ZLIB_LIBRARIES} ${LIBWEBSOCKETS_LINK_LIBRARIES} ${JSON-C_LIBRARIES} ${LIBUV_LIBRARIES})
set (CMAKE_REQUIRED_INCLUDES ${INCLUDE_DIRS})
include(CheckSymbolExists)