diff options
| author | Even Rouault <even.rouault@spatialys.com> | 2021-01-04 14:06:43 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-01-04 14:06:43 +0100 |
| commit | 07a454324cfeb431ee3fc3799df522dff252b12b (patch) | |
| tree | 7d19567fa139ec247cb8527984da2bc723f2d2cd | |
| parent | eb27272a79cd81256e475b9aad8461fda8b7f989 (diff) | |
| parent | 75a7f1a53b85a0fad1385d5772ab04badcca8254 (diff) | |
Merge pull request #866 from tSed/master
fix static build only against tiff and its indirect dependencies
| -rw-r--r-- | thirdparty/CMakeLists.txt | 23 |
1 files changed, 21 insertions, 2 deletions
diff --git a/thirdparty/CMakeLists.txt b/thirdparty/CMakeLists.txt index ebdcd9d4..c634cba3 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) |
