From 50eab58d6eae351408c58e74edc2eb328ff439d8 Mon Sep 17 00:00:00 2001
From: Even Rouault <[EMAIL REDACTED]>
Date: Mon, 5 Jun 2023 16:18:57 +0200
Subject: [PATCH 1/5] libtiff/CMakeLists.txt: correctly define TIFF::tiff alias
(fixes #577)
---
libtiff/CMakeLists.txt | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
index 636cf35c..0125ee56 100755
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -46,7 +46,7 @@ set(tiff_private_HEADERS
add_library(tiff libtiff.def)
-add_library(TIFF::TIFF ALIAS tiff)
+add_library(TIFF::tiff ALIAS tiff)
target_sources(tiff PRIVATE
${tiff_public_HEADERS}
From c978a6c3eaa9d4a4770d10f3d99446428e7436b9 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Mon, 5 Jun 2023 17:20:26 +0200
Subject: [PATCH 2/5] libtiff/CMakeLists.txt: fix export of
INTERFACE_INCLUDE_DIRECTORIES
---
libtiff/CMakeLists.txt | 1 +
1 file changed, 1 insertion(+)
diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
index 0125ee56..8ea05d26 100755
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -104,6 +104,7 @@ target_include_directories(tiff
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
+ $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
PRIVATE
${TIFF_INCLUDES}
)
From 71c90a51bc8ccaa3c02deaa7276cdc3aaffc3c46 Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Mon, 5 Jun 2023 16:49:12 +0200
Subject: [PATCH 3/5] CMake: export TiffConfig.cmake and
TiffConfigVersion.cmake files
---
cmake/TiffConfig.cmake.in | 6 ++++++
libtiff/CMakeLists.txt | 12 ++++++++++++
2 files changed, 18 insertions(+)
create mode 100644 cmake/TiffConfig.cmake.in
diff --git a/cmake/TiffConfig.cmake.in b/cmake/TiffConfig.cmake.in
new file mode 100644
index 00000000..8e0fada2
--- /dev/null
+++ b/cmake/TiffConfig.cmake.in
@@ -0,0 +1,6 @@
+if(NOT "@BUILD_SHARED_LIBS@")
+ # TODO: import dependencies
+endif()
+if(NOT TARGET TIFF::tiff)
+ include("${CMAKE_CURRENT_LIST_DIR}/TiffTargets.cmake")
+endif()
diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
index 8ea05d26..734d38e5 100755
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -198,6 +198,18 @@ if(tiff-install)
NAMESPACE TIFF::
DESTINATION ${TIFF_CONFIGDIR}
)
+
+ include(CMakePackageConfigHelpers)
+ write_basic_package_version_file(
+ TiffConfigVersion.cmake
+ VERSION ${LIBTIFF_VERSION}
+ COMPATIBILITY SameMajorVersion)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TiffConfigVersion.cmake DESTINATION ${TIFF_CONFIGDIR})
+
+ configure_file(${PROJECT_SOURCE_DIR}/cmake/TiffConfig.cmake.in
+ ${CMAKE_CURRENT_BINARY_DIR}/TiffConfig.cmake @ONLY)
+ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TiffConfig.cmake DESTINATION ${TIFF_CONFIGDIR})
+
endif()
if(CXX_SUPPORT)
From 97785f8527535b837cd29a547101a96073ef5d4e Mon Sep 17 00:00:00 2001
From: Even Rouault <even.rouault@spatialys.com>
Date: Mon, 5 Jun 2023 16:50:59 +0200
Subject: [PATCH 4/5] CI: add testing of find_package(Tiff CONFIG)
---
build/gitlab-ci | 6 ++++++
build/test_cmake/CMakeLists.txt | 7 +++++++
build/test_cmake/test.c | 7 +++++++
3 files changed, 20 insertions(+)
create mode 100644 build/test_cmake/CMakeLists.txt
create mode 100644 build/test_cmake/test.c
diff --git a/build/gitlab-ci b/build/gitlab-ci
index 7058eeed..c8331423 100644
--- a/build/gitlab-ci
+++ b/build/gitlab-ci
@@ -51,6 +51,12 @@ cmake_build()
$COVERITY_BUILD cmake --build .
cmake --build . --target install
ctest -V
+ cd ..
+ # Build test project using find_package(Tiff CONFIG)
+ mkdir cmake-test-build
+ cd cmake-test-build
+ cmake -G "$1" -DCMAKE_BUILD_TYPE="$2" "-DTiff_DIR=$PWD/../cmake-install/lib/cmake/tiff" -S ../build/test_cmake -B .
+ cmake --build .
}
# Static-analysis with coverity
diff --git a/build/test_cmake/CMakeLists.txt b/build/test_cmake/CMakeLists.txt
new file mode 100644
index 00000000..8221220b
--- /dev/null
+++ b/build/test_cmake/CMakeLists.txt
@@ -0,0 +1,7 @@
+cmake_minimum_required(VERSION 3.9.0)
+project(test)
+
+find_package(Tiff CONFIG REQUIRED)
+
+add_executable(test test.c)
+target_link_libraries(test PRIVATE TIFF::tiff)
diff --git a/build/test_cmake/test.c b/build/test_cmake/test.c
new file mode 100644
index 00000000..011b53e1
--- /dev/null
+++ b/build/test_cmake/test.c
@@ -0,0 +1,7 @@
+#include "tiffio.h"
+
+int main()
+{
+ TIFFGetVersion();
+ return 0;
+}
From b8d15d9dbe50eacd40c19a42308bc7dc12626981 Mon Sep 17 00:00:00 2001
From: Timothy Lyanguzov <theta682@gmail.com>
Date: Mon, 5 Jun 2023 23:23:50 +0000
Subject: [PATCH 5/5] Apply 1 suggestion(s) to 1 file(s)
---
libtiff/CMakeLists.txt | 1 -
1 file changed, 1 deletion(-)
diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
index 734d38e5..5d2a29ca 100755
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -209,7 +209,6 @@ if(tiff-install)
configure_file(${PROJECT_SOURCE_DIR}/cmake/TiffConfig.cmake.in
${CMAKE_CURRENT_BINARY_DIR}/TiffConfig.cmake @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/TiffConfig.cmake DESTINATION ${TIFF_CONFIGDIR})
-
endif()
if(CXX_SUPPORT)