From 2ec40a052879af6ea0d6810fbed57ff0157bf809 Mon Sep 17 00:00:00 2001 From: Matej Kenda Date: Wed, 15 Oct 2025 16:48:17 +0200 Subject: [PATCH] CMake: Add missing link libraries in dependencies (fix #5044). (#5046) * fix(dependencies, CMake): Add missing link libraries in dependencies. * chore(CI): Enable PDF in linux-gcc-cmake-visibility-hidden. * enh(CMake): do not link zlib to PDF when building a shared library --- .github/workflows/ci.yml | 2 +- PDF/CMakeLists.txt | 7 +++++-- dependencies/hpdf/CMakeLists.txt | 1 + dependencies/png/CMakeLists.txt | 2 ++ 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 38ab16afd..6eb9ee219 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -125,7 +125,7 @@ jobs: - run: sudo apt -y update && sudo apt -y install cmake ninja-build libssl-dev unixodbc-dev libmysqlclient-dev redis-server - run: >- cmake -S. -Bcmake-build -GNinja -DCMAKE_CXX_VISIBILITY_PRESET=hidden - -DENABLE_PDF=OFF -DENABLE_TESTS=ON -DENABLE_DATA_MYSQL=ON -DENABLE_DATA_ODBC=ON + -DENABLE_PDF=ON -DENABLE_TESTS=ON -DENABLE_DATA_MYSQL=ON -DENABLE_DATA_ODBC=ON - run: cmake --build cmake-build --target all - uses: ./.github/actions/retry-action with: diff --git a/PDF/CMakeLists.txt b/PDF/CMakeLists.txt index 7d6ea8d21..da4a36568 100644 --- a/PDF/CMakeLists.txt +++ b/PDF/CMakeLists.txt @@ -20,12 +20,15 @@ add_library(PDF ${SRCS}) target_link_libraries(PDF PRIVATE "$") if (POCO_UNBUNDLED) - target_link_libraries(PDF PRIVATE PNG::PNG) + target_link_libraries(PDF PRIVATE PNG::PNG ZLIB::ZLIB) else() target_link_libraries(PDF PRIVATE "$") + if (NOT BUILD_SHARED_LIBS OR WIN32) + target_link_libraries(PDF PRIVATE "$") + endif() + # else static zlib is already linked to Foundation endif() - add_library(Poco::PDF ALIAS PDF) set_target_properties(PDF PROPERTIES diff --git a/dependencies/hpdf/CMakeLists.txt b/dependencies/hpdf/CMakeLists.txt index 895d9790a..15de3f4a1 100644 --- a/dependencies/hpdf/CMakeLists.txt +++ b/dependencies/hpdf/CMakeLists.txt @@ -20,6 +20,7 @@ target_include_directories(_BUNDLED_HPDF if (POCO_UNBUNDLED) target_link_libraries(_BUNDLED_HPDF PRIVATE PNG::PNG) else() + target_link_libraries(_BUNDLED_HPDF PRIVATE "$") target_link_libraries(_BUNDLED_HPDF PRIVATE "$") endif() diff --git a/dependencies/png/CMakeLists.txt b/dependencies/png/CMakeLists.txt index 26fd5c770..b5c583b87 100644 --- a/dependencies/png/CMakeLists.txt +++ b/dependencies/png/CMakeLists.txt @@ -32,6 +32,8 @@ else() $ ) + target_link_libraries(_BUNDLED_PNG PRIVATE "$") + add_library(PNG::PNG ALIAS _BUNDLED_PNG) endif()