From 38f50c7d9ad3ba06b64583045665203afb53cbd9 Mon Sep 17 00:00:00 2001
From: Samuel Martin <s.martin49@gmail.com>
Date: Sun, 6 Nov 2016 16:29:08 +0100
Subject: [PATCH] thirdparty: tiff: append flags found by pkg-config if
 available

This change allows to get all required CFLAGS/LDFLAGS in case of static only
build.

This build issue [1] was triggered by the Buildroot farms.

[1] http://autobuild.buildroot.net/results/d0d/d0d22727311d6300e0e400728126170407bfd699/build-end.log

Signed-off-by: Samuel Martin <s.martin49@gmail.com>
---
 thirdparty/CMakeLists.txt | 23 +++++++++++++++++++++--
 1 file changed, 21 insertions(+), 2 deletions(-)

diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt
index cb24b43b58e2..cd6a5e1391b0 100644
--- a/thirdparty/CMakeLists.txt
+++ b/thirdparty/CMakeLists.txt
@@ -1,5 +1,9 @@
 # 3rd party libs
 
+if(NOT BUILD_THIRDPARTY)
+  include(FindPkgConfig)
+endif(NOT BUILD_THIRDPARTY)
+
 #------------
 # Try to find lib Z
 if(BUILD_THIRDPARTY)
@@ -36,6 +40,9 @@ if(BUILD_THIRDPARTY)
 else(BUILD_THIRDPARTY)
   if(ZLIB_FOUND)
     find_package(PNG)
+    # Static only build:
+    #   it is not necessary to invoke pkg_check_module on libpng, because libpng
+    #   only depends on zlib, which is already checked.
     if(PNG_FOUND)
       message(STATUS "Your system seems to have a PNG lib available, we will use it")
       set(OPJ_HAVE_PNG_H 1 PARENT_SCOPE)
@@ -66,12 +73,24 @@ if(BUILD_THIRDPARTY)
   set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE)
 else(BUILD_THIRDPARTY)
   find_package(TIFF)
+  # Static only build:
+  #   it is necessary to invoke pkg_check_module on libtiff since it may have
+  #   several other dependencies not declared by its cmake module, but they are
+  #   in the its pkgconfig module.
+  if(PKG_CONFIG_FOUND)
+    foreach(pc_tiff_module tiff tiff3 tiff4 tiff-3 tiff-4 libtiff libtiff3 libtiff4 libtiff-3 libtiff-4)
+      pkg_check_modules(PC_TIFF QUIET ${pc_tiff_module})
+      if(PC_TIFF_FOUND)
+        break()
+      endif(PC_TIFF_FOUND)
+    endforeach()
+  endif(PKG_CONFIG_FOUND)
   if(TIFF_FOUND)
     message(STATUS "Your system seems to have a TIFF lib available, we will use it")
     set(OPJ_HAVE_TIFF_H 1 PARENT_SCOPE)
     set(OPJ_HAVE_LIBTIFF 1 PARENT_SCOPE)
-    set(TIFF_LIBNAME ${TIFF_LIBRARIES} PARENT_SCOPE)
-    set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} PARENT_SCOPE)
+    set(TIFF_LIBNAME ${TIFF_LIBRARIES} ${PC_TIFF_STATIC_LIBRARIES} PARENT_SCOPE)
+    set(TIFF_INCLUDE_DIRNAME ${TIFF_INCLUDE_DIR} ${PC_TIFF_STATIC_INCLUDE_DIRS} PARENT_SCOPE)
   else(TIFF_FOUND) # not found
     set(OPJ_HAVE_TIFF_H 0 PARENT_SCOPE)
     set(OPJ_HAVE_LIBTIFF 0 PARENT_SCOPE)
-- 
2.10.2

