From 814a2441e76b54bfc2d4dd8961a9b43d996bcc0c Mon Sep 17 00:00:00 2001
From: Jeremy Maitin-Shepard <[EMAIL REDACTED]>
Date: Wed, 21 Sep 2022 13:42:08 -0700
Subject: [PATCH 1/2] Fix CMake build to be compatible with FetchContent
Recent versions of CMake have improved support for including
dependencies, using the FetchContent module, which allows a dependency
to be imported as a subproject and then later found automatically by
calls to `find_package`.
This change makes libtiff's CMake better behaved when used as a
sub-project:
- CMake has a single global namespace for all target names in all
sub-projects. This commit renames the following CMake targets:
- port -> tiff_port
- mkg3states -> tiff_mkg3states
- faxtable -> tiff_faxtable
- release -> tiff_release
- When building TIFF as a sub-project, it is not normally useful to
create install rules for its targets. This commit adds a
`tiff-install` option that controls whether the install rules are
added and defaults to OFF when libtiff is included as a sub-project.
- Previously, libtiff set `BUILD_SHARED_LIBS` to ON by default. With
this commit, that default is only set if libtiff is the top-level
project.
- When using `find_package(TIFF)`, the targets `TIFF::TIFF` and
`TIFF::CXX` are defined. This commit makes libtiff itself define
those targets as aliases, to allow other cmake projects to use
either `find_package` or `FetchContent` interchangeably.
- Adds ZSTD_HAVE_DECOMPRESS_STREAM variable which may be set to bypass
`check_symbol_exists` call. Fixes
https://gitlab.com/libtiff/libtiff/-/issues/472.
---
CMakeLists.txt | 21 ++++++++----
cmake/Release.cmake | 2 +-
cmake/ZSTDCodec.cmake | 17 ++++++----
contrib/addtiffo/CMakeLists.txt | 2 +-
contrib/dbs/CMakeLists.txt | 8 ++---
contrib/iptcutil/CMakeLists.txt | 2 +-
libtiff/CMakeLists.txt | 59 ++++++++++++++++++---------------
port/CMakeLists.txt | 10 +++---
test/CMakeLists.txt | 28 ++++++++--------
tools/CMakeLists.txt | 42 +++++++++++------------
10 files changed, 104 insertions(+), 87 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 26acca80..02e3ed83 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -39,26 +39,33 @@ message(STATUS "libtiff library version ${SO_VERSION}")
string(TIMESTAMP BUILD_DATE "%Y%m%d")
message(STATUS "libtiff build date: ${BUILD_DATE}")
+# Project definition
+set(CMAKE_C_STANDARD 99)
+project(tiff
+ VERSION "${LIBTIFF_VERSION}"
+ LANGUAGES C CXX)
-set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries")
+if(NOT "^${CMAKE_SOURCE_DIR}$" STREQUAL "^${PROJECT_SOURCE_DIR}$")
+ # libtiff is being included as a subproject of some other project.
+ set(tiff-install-default OFF)
+ set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries")
+else()
+ set(tiff-install-default ON)
+ set(tiff-install ON)
+endif()
option(tiff-tools "build TIFF tools" ON)
option(tiff-tests "build TIFF tests" ON)
option(tiff-contrib "build TIFF contrib" ON)
option(tiff-docs "build TIFF documentation" ON)
option(tiff-deprecated "build TIFF deprecated features" OFF)
+option(tiff-install "install TIFF targets" ${tiff-install-default})
# Disable deprecated features to ensure clean build
if (tiff-deprecated)
add_definitions(-DTIFF_DISABLE_DEPRECATED)
endif()
-# Project definition
-set(CMAKE_C_STANDARD 99)
-project(tiff
- VERSION "${LIBTIFF_VERSION}"
- LANGUAGES C CXX)
-
# Autotools compatibility
include(AutotoolsCompat)
diff --git a/cmake/Release.cmake b/cmake/Release.cmake
index fbf34cc6..5deba03d 100644
--- a/cmake/Release.cmake
+++ b/cmake/Release.cmake
@@ -23,7 +23,7 @@
# OF THIS SOFTWARE.
-add_custom_target(release
+add_custom_target(tiff_release
COMMAND ${CMAKE_COMMAND}
"-DSOURCE_DIR:PATH=${PROJECT_SOURCE_DIR}"
"-DLIBTIFF_VERSION=${PROJECT_VERSION}"
diff --git a/cmake/ZSTDCodec.cmake b/cmake/ZSTDCodec.cmake
index d3d2de80..506e53c2 100644
--- a/cmake/ZSTDCodec.cmake
+++ b/cmake/ZSTDCodec.cmake
@@ -31,13 +31,16 @@ set(ZSTD_USABLE FALSE)
find_package(ZSTD)
if(ZSTD_FOUND)
- set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
- set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZSTD_INCLUDE_DIRS})
- set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZSTD_LIBRARIES})
- check_symbol_exists(ZSTD_decompressStream "zstd.h" ZSTD_RECENT_ENOUGH)
- set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
- set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
+ if (NOT (DEFINED ZSTD_HAVE_DECOMPRESS_STREAM))
+ set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZSTD_INCLUDE_DIRS})
+ set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES} ${ZSTD_LIBRARIES})
+ check_symbol_exists(ZSTD_decompressStream "zstd.h" ZSTD_HAVE_DECOMPRESS_STREAM)
+ set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
+ set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
+ endif()
+ set(ZSTD_RECENT_ENOUGH "${ZSTD_HAVE_DECOMPRESS_STREAM}")
if (ZSTD_RECENT_ENOUGH)
set(ZSTD_USABLE TRUE)
diff --git a/contrib/addtiffo/CMakeLists.txt b/contrib/addtiffo/CMakeLists.txt
index 2f3959bc..7c86e950 100644
--- a/contrib/addtiffo/CMakeLists.txt
+++ b/contrib/addtiffo/CMakeLists.txt
@@ -23,7 +23,7 @@
# OF THIS SOFTWARE.
add_executable(addtiffo addtiffo.c tif_overview.c tif_ovrcache.c tif_ovrcache.h)
-target_link_libraries(addtiffo tiff port)
+target_link_libraries(addtiffo tiff tiff_port)
if(WEBP_SUPPORT AND EMSCRIPTEN)
# Emscripten is pretty finnicky about linker flags.
diff --git a/contrib/dbs/CMakeLists.txt b/contrib/dbs/CMakeLists.txt
index b5681777..74b2a02a 100644
--- a/contrib/dbs/CMakeLists.txt
+++ b/contrib/dbs/CMakeLists.txt
@@ -23,16 +23,16 @@
# OF THIS SOFTWARE.
add_executable(tiff-bi tiff-bi.c)
-target_link_libraries(tiff-bi tiff port)
+target_link_libraries(tiff-bi tiff tiff_port)
add_executable(tiff-grayscale tiff-grayscale.c)
-target_link_libraries(tiff-grayscale tiff port CMath::CMath)
+target_link_libraries(tiff-grayscale tiff tiff_port CMath::CMath)
add_executable(tiff-palette tiff-palette.c)
-target_link_libraries(tiff-palette tiff port)
+target_link_libraries(tiff-palette tiff tiff_port)
add_executable(tiff-rgb tiff-rgb.c)
-target_link_libraries(tiff-rgb tiff port CMath::CMath)
+target_link_libraries(tiff-rgb tiff tiff_port CMath::CMath)
if(WEBP_SUPPORT AND EMSCRIPTEN)
# Emscripten is pretty finnicky about linker flags.
diff --git a/contrib/iptcutil/CMakeLists.txt b/contrib/iptcutil/CMakeLists.txt
index 39d908c6..d13319c6 100644
--- a/contrib/iptcutil/CMakeLists.txt
+++ b/contrib/iptcutil/CMakeLists.txt
@@ -23,4 +23,4 @@
# OF THIS SOFTWARE.
add_executable(iptcutil iptcutil.c)
-target_link_libraries(iptcutil tiff port)
+target_link_libraries(iptcutil tiff tiff_port)
diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
index 3fab9b67..57f29b1f 100755
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -46,6 +46,7 @@ set(tiff_private_HEADERS
add_library(tiff libtiff.def)
+add_library(TIFF::TIFF ALIAS tiff)
target_sources(tiff PRIVATE
${tiff_public_HEADERS}
@@ -169,21 +170,23 @@ if(HAVE_LD_VERSION_SCRIPT)
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map")
endif()
-export(TARGETS tiff NAMESPACE TIFF:: FILE "${CMAKE_CURRENT_BINARY_DIR}/libtiffTargets.cmake")
-install(TARGETS tiff EXPORT TiffTargets
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+if (tiff-install)
+ export(TARGETS tiff NAMESPACE TIFF:: FILE "${CMAKE_CURRENT_BINARY_DIR}/libtiffTargets.cmake")
+ install(TARGETS tiff EXPORT TiffTargets
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-install(FILES ${tiff_public_HEADERS}
- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+ install(FILES ${tiff_public_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
-set(TIFF_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/tiff)
-install(EXPORT TiffTargets
- FILE TiffTargets.cmake
- NAMESPACE TIFF::
- DESTINATION ${TIFF_CONFIGDIR}
-)
+ set(TIFF_CONFIGDIR ${CMAKE_INSTALL_LIBDIR}/cmake/tiff)
+ install(EXPORT TiffTargets
+ FILE TiffTargets.cmake
+ NAMESPACE TIFF::
+ DESTINATION ${TIFF_CONFIGDIR}
+ )
+endif()
if(CXX_SUPPORT)
set(tiffxx_HEADERS
@@ -196,6 +199,8 @@ if(CXX_SUPPORT)
add_library(tiffxx ../placeholder.h)
endif()
+ add_library(TIFF::CXX ALIAS tiffxx)
+
target_sources(tiffxx PRIVATE
${tiffxx_HEADERS}
tif_stream.cxx)
@@ -213,24 +218,26 @@ if(CXX_SUPPORT)
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiffxx.map")
endif()
- install(TARGETS tiffxx
- RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
- LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
- ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
-
- install(FILES ${tiffxx_HEADERS}
- DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+ if (tiff-install)
+ install(TARGETS tiffxx
+ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
+ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR})
+ install(FILES ${tiffxx_HEADERS}
+ DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}")
+ endif()
+
endif()
if(NOT CMAKE_CROSSCOMPILING)
- add_executable(mkg3states ../placeholder.h)
- target_sources(mkg3states PRIVATE mkg3states.c tif_fax3.h)
- target_link_libraries(mkg3states tiff port)
+ add_executable(tiff_mkg3states ../placeholder.h)
+ target_sources(tiff_mkg3states PRIVATE mkg3states.c tif_fax3.h)
+ target_link_libraries(tiff_mkg3states tiff tiff_port)
- add_custom_target(faxtable
- DEPENDS mkg3states
+ add_custom_target(tiff_faxtable
+ DEPENDS tiff_mkg3states
COMMAND ${CMAKE_COMMAND} -E rm "tif_fax3sm.c"
- COMMAND mkg3states -b -c const "tif_fax3sm.c"
+ COMMAND tiff_mkg3states -b -c const "tif_fax3sm.c"
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
endif()
diff --git a/port/CMakeLists.txt b/port/CMakeLists.txt
index fd459162..04bd3ea8 100755
--- a/port/CMakeLists.txt
+++ b/port/CMakeLists.txt
@@ -31,21 +31,21 @@ set(port_HEADERS libport.h)
# Only build if any needed features are missing
if(NOT HAVE_GETOPT)
- add_library(port STATIC ../placeholder.h)
+ add_library(tiff_port STATIC ../placeholder.h)
# Add getopt if missing
if(NOT HAVE_GETOPT)
- target_sources(port PUBLIC
+ target_sources(tiff_port PUBLIC
${CMAKE_CURRENT_SOURCE_DIR}/getopt.c)
endif()
- target_include_directories(port PUBLIC
+ target_include_directories(tiff_port PUBLIC
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR})
else()
# Dummy interface library
- add_library(port INTERFACE)
- target_include_directories(port INTERFACE
+ add_library(tiff_port INTERFACE)
+ target_include_directories(tiff_port INTERFACE
${CMAKE_CURRENT_BINARY_DIR}
${CMAKE_CURRENT_SOURCE_DIR})
endif()
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
index 66de9376..a7ad8ec1 100644
--- a/test/CMakeLists.txt
+++ b/test/CMakeLists.txt
@@ -102,77 +102,77 @@ set(simple_tests)
add_executable(test_signed_tags ../placeholder.h)
target_sources(test_signed_tags PRIVATE test_signed_tags.c)
-target_link_libraries(test_signed_tags PRIVATE tiff port)
+target_link_libraries(test_signed_tags PRIVATE tiff tiff_port)
list(APPEND simple_tests test_signed_tags)
add_executable(ascii_tag ../placeholder.h)
target_sources(ascii_tag PRIVATE ascii_tag.c)
-target_link_libraries(ascii_tag PRIVATE tiff port)
+target_link_libraries(ascii_tag PRIVATE tiff tiff_port)
list(APPEND simple_tests ascii_tag)
add_executable(long_tag ../placeholder.h)
target_sources(long_tag PRIVATE long_tag.c check_tag.c)
-target_link_libraries(long_tag PRIVATE tiff port)
+target_link_libraries(long_tag PRIVATE tiff tiff_port)
list(APPEND simple_tests long_tag)
add_executable(short_tag ../placeholder.h)
target_sources(short_tag PRIVATE short_tag.c check_tag.c)
-target_link_libraries(short_tag PRIVATE tiff port)
+target_link_libraries(short_tag PRIVATE tiff tiff_port)
list(APPEND simple_tests short_tag)
add_executable(strip_rw ../placeholder.h)
target_sources(strip_rw PRIVATE strip_rw.c strip.c test_arrays.c test_arrays.h)
-target_link_libraries(strip_rw PRIVATE tiff port)
+target_link_libraries(strip_rw PRIVATE tiff tiff_port)
list(APPEND simple_tests strip_rw)
add_executable(rewrite ../placeholder.h)
target_sources(rewrite PRIVATE rewrite_tag.c)
-target_link_libraries(rewrite PRIVATE tiff port)
+target_link_libraries(rewrite PRIVATE tiff tiff_port)
list(APPEND simple_tests rewrite)
if(JPEG_SUPPORT)
add_executable(raw_decode ../placeholder.h)
target_sources(raw_decode PRIVATE raw_decode.c)
- target_link_libraries(raw_decode PRIVATE tiff port JPEG::JPEG)
+ target_link_libraries(raw_decode PRIVATE tiff tiff_port JPEG::JPEG)
list(APPEND simple_tests raw_decode)
endif()
add_executable(custom_dir ../placeholder.h)
target_sources(custom_dir PRIVATE custom_dir.c)
-target_link_libraries(custom_dir PRIVATE tiff port)
+target_link_libraries(custom_dir PRIVATE tiff tiff_port)
list(APPEND simple_tests custom_dir)
# Uses private functions from static library
if(NOT BUILD_SHARED_LIBS)
add_executable(rational_precision2double ../placeholder.h)
target_sources(rational_precision2double PRIVATE rational_precision2double.c)
- target_link_libraries(rational_precision2double PRIVATE tiff port)
+ target_link_libraries(rational_precision2double PRIVATE tiff tiff_port)
list(APPEND simple_tests rational_precision2double)
endif()
add_executable(custom_dir_EXIF_231 ../placeholder.h)
target_sources(custom_dir_EXIF_231 PRIVATE custom_dir_EXIF_231.c)
-target_link_libraries(custom_dir_EXIF_231 PRIVATE tiff port)
+target_link_libraries(custom_dir_EXIF_231 PRIVATE tiff tiff_port)
list(APPEND simple_tests custom_dir_EXIF_231)
add_executable(defer_strile_loading ../placeholder.h)
target_sources(defer_strile_loading PRIVATE defer_strile_loading.c)
-target_link_libraries(defer_strile_loading PRIVATE tiff port)
+target_link_libraries(defer_strile_loading PRIVATE tiff tiff_port)
list(APPEND simple_tests defer_strile_loading)
add_executable(defer_strile_writing ../placeholder.h)
target_sources(defer_strile_writing PRIVATE defer_strile_writing.c)
-target_link_libraries(defer_strile_writing PRIVATE tiff port)
+target_link_libraries(defer_strile_writing PRIVATE tiff tiff_port)
list(APPEND simple_tests defer_strile_writing)
add_executable(test_directory ../placeholder.h)
target_sources(test_directory PRIVATE test_directory.c)
-target_link_libraries(test_directory PRIVATE tiff port)
+target_link_libraries(test_directory PRIVATE tiff tiff_port)
list(APPEND simple_tests test_directory)
add_executable(testtypes ../placeholder.h)
target_sources(testtypes PRIVATE testtypes.c)
-target_link_libraries(testtypes PRIVATE tiff port)
+target_link_libraries(testtypes PRIVATE tiff tiff_port)
list(APPEND simple_tests testtypes)
if(WEBP_SUPPORT AND EMSCRIPTEN)
diff --git a/tools/CMakeLists.txt b/tools/CMakeLists.txt
index e0feaebe..2d203763 100755
--- a/tools/CMakeLists.txt
+++ b/tools/CMakeLists.txt
@@ -24,83 +24,83 @@
add_executable(fax2ps ../placeholder.h)
target_sources(fax2ps PRIVATE fax2ps.c)
-target_link_libraries(fax2ps PRIVATE tiff port)
+target_link_libraries(fax2ps PRIVATE tiff tiff_port)
add_executable(fax2tiff ../placeholder.h)
target_sources(fax2tiff PRIVATE fax2tiff.c)
-target_link_libraries(fax2tiff PRIVATE tiff port)
+target_link_libraries(fax2tiff PRIVATE tiff tiff_port)
add_executable(pal2rgb ../placeholder.h)
target_sources(pal2rgb PRIVATE pal2rgb.c)
-target_link_libraries(pal2rgb PRIVATE tiff port)
+target_link_libraries(pal2rgb PRIVATE tiff tiff_port)
add_executable(ppm2tiff ../placeholder.h)
target_sources(ppm2tiff PRIVATE ppm2tiff.c)
-target_link_libraries(ppm2tiff PRIVATE tiff port)
+target_link_libraries(ppm2tiff PRIVATE tiff tiff_port)
add_executable(raw2tiff ../placeholder.h)
target_sources(raw2tiff PRIVATE raw2tiff.c)
-target_link_libraries(raw2tiff PRIVATE tiff port CMath::CMath)
+target_link_libraries(raw2tiff PRIVATE tiff tiff_port CMath::CMath)
add_executable(rgb2ycbcr ../placeholder.h)
target_sources(rgb2ycbcr PRIVATE rgb2ycbcr.c)
-target_link_libraries(rgb2ycbcr PRIVATE tiff port)
+target_link_libraries(rgb2ycbcr PRIVATE tiff tiff_port)
add_executable(thumbnail ../placeholder.h)
target_sources(thumbnail PRIVATE thumbnail.c)
-target_link_libraries(thumbnail PRIVATE tiff port CMath::CMath)
+target_link_libraries(thumbnail PRIVATE tiff tiff_port CMath::CMath)
add_executable(tiff2bw ../placeholder.h)
target_sources(tiff2bw PRIVATE tiff2bw.c)
-target_link_libraries(tiff2bw PRIVATE tiff port)
+target_link_libraries(tiff2bw PRIVATE tiff tiff_port)
add_executable(tiff2pdf ../placeholder.h)
target_sources(tiff2pdf PRIVATE tiff2pdf.c)
-target_link_libraries(tiff2pdf PRIVATE tiff port)
+target_link_libraries(tiff2pdf PRIVATE tiff tiff_port)
add_executable(tiff2ps ../placeholder.h)
target_sources(tiff2ps PRIVATE tiff2ps.c)
-target_link_libraries(tiff2ps PRIVATE tiff port CMath::CMath)
+target_link_libraries(tiff2ps PRIVATE tiff tiff_port CMath::CMath)
add_executable(tiff2rgba ../placeholder.h)
target_sources(tiff2rgba PRIVATE tiff2rgba.c)
-target_link_libraries(tiff2rgba PRIVATE tiff port)
+target_link_libraries(tiff2rgba PRIVATE tiff tiff_port)
add_executable(tiffcmp ../placeholder.h)
target_sources(tiffcmp PRIVATE tiffcmp.c)
-target_link_libraries(tiffcmp PRIVATE tiff port)
+target_link_libraries(tiffcmp PRIVATE tiff tiff_port)
add_executable(tiffcp ../placeholder.h)
target_sources(tiffcp PRIVATE tiffcp.c)
-target_link_libraries(tiffcp PRIVATE tiff port)
+target_link_libraries(tiffcp PRIVATE tiff tiff_port)
add_executable(tiffcrop ../placeholder.h)
target_sources(tiffcrop PRIVATE tiffcrop.c)
-target_link_libraries(tiffcrop PRIVATE tiff port CMath::CMath)
+target_link_libraries(tiffcrop PRIVATE tiff tiff_port CMath::CMath)
add_executable(tiffdither ../placeholder.h)
target_sources(tiffdither PRIVATE tiffdither.c)
-target_link_libraries(tiffdither PRIVATE tiff port)
+target_link_libraries(tiffdither PRIVATE tiff tiff_port)
add_executable(tiffdump ../placeholder.h)
target_sources(tiffdump PRIVATE tiffdump.c)
-target_link_libraries(tiffdump PRIVATE tiff port)
+target_link_libraries(tiffdump PRIVATE tiff tiff_port)
add_executable(tiffinfo ../placeholder.h)
target_sources(tiffinfo PRIVATE tiffinfo.c)
-target_link_libraries(tiffinfo PRIVATE tiff port)
+target_link_libraries(tiffinfo PRIVATE tiff tiff_port)
add_executable(tiffmedian ../placeholder.h)
target_sources(tiffmedian PRIVATE tiffmedian.c)
-target_link_libraries(tiffmedian PRIVATE tiff port)
+target_link_libraries(tiffmedian PRIVATE tiff tiff_port)
add_executable(tiffset ../placeholder.h)
target_sources(tiffset PRIVATE tiffset.c)
-target_link_libraries(tiffset PRIVATE tiff port)
+target_link_libraries(tiffset PRIVATE tiff tiff_port)
add_executable(tiffsplit ../placeholder.h)
target_sources(tiffsplit PRIVATE tiffsplit.c)
-target_link_libraries(tiffsplit PRIVATE tiff port)
+target_link_libraries(tiffsplit PRIVATE tiff tiff_port)
# rgb2ycbcr and thumbnail are intended to *NOT* be installed. They are for
# testing purposes only.
@@ -127,7 +127,7 @@ install(TARGETS fax2ps
if(OPENGL_SUPPORT)
add_executable(tiffgt ../placeholder.h)
target_sources(tiffgt PRIVATE tiffgt.c)
- target_link_libraries(tiffgt PRIVATE tiff port)
+ target_link_libraries(tiffgt PRIVATE tiff tiff_port)
target_link_libraries(tiffgt PRIVATE OpenGL::GL GLUT::GLUT)
install(TARGETS tiffgt
From 7d0ed2ed5ed5d0bba1603bdbd098997a881ef255 Mon Sep 17 00:00:00 2001
From: Timothy Lyanguzov <theta682@gmail.com>
Date: Tue, 4 Oct 2022 16:38:06 +0000
Subject: [PATCH 2/2] Apply 9 suggestion(s) to 3 file(s)
---
CMakeLists.txt | 10 +++++-----
cmake/ZSTDCodec.cmake | 4 ++--
libtiff/CMakeLists.txt | 4 ++--
3 files changed, 9 insertions(+), 9 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 02e3ed83..0f346627 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -45,12 +45,12 @@ project(tiff
VERSION "${LIBTIFF_VERSION}"
LANGUAGES C CXX)
-if(NOT "^${CMAKE_SOURCE_DIR}$" STREQUAL "^${PROJECT_SOURCE_DIR}$")
+if(NOT CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
# libtiff is being included as a subproject of some other project.
- set(tiff-install-default OFF)
- set(BUILD_SHARED_LIBS ON CACHE BOOL "Build shared libraries")
+ set(TIFF_INSTALL_DEFAULT OFF)
+ option(BUILD_SHARED_LIBS "Build shared libraries" ON)
else()
- set(tiff-install-default ON)
+ set(TIFF_INSTALL_DEFAULT ON)
set(tiff-install ON)
endif()
@@ -59,7 +59,7 @@ option(tiff-tests "build TIFF tests" ON)
option(tiff-contrib "build TIFF contrib" ON)
option(tiff-docs "build TIFF documentation" ON)
option(tiff-deprecated "build TIFF deprecated features" OFF)
-option(tiff-install "install TIFF targets" ${tiff-install-default})
+option(tiff-install "install TIFF targets" ${TIFF_INSTALL_DEFAULT})
# Disable deprecated features to ensure clean build
if (tiff-deprecated)
diff --git a/cmake/ZSTDCodec.cmake b/cmake/ZSTDCodec.cmake
index 506e53c2..490d75c4 100644
--- a/cmake/ZSTDCodec.cmake
+++ b/cmake/ZSTDCodec.cmake
@@ -31,7 +31,7 @@ set(ZSTD_USABLE FALSE)
find_package(ZSTD)
if(ZSTD_FOUND)
- if (NOT (DEFINED ZSTD_HAVE_DECOMPRESS_STREAM))
+ if(NOT DEFINED ZSTD_HAVE_DECOMPRESS_STREAM)
set(CMAKE_REQUIRED_INCLUDES_SAVE ${CMAKE_REQUIRED_INCLUDES})
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES} ${ZSTD_INCLUDE_DIRS})
set(CMAKE_REQUIRED_LIBRARIES_SAVE ${CMAKE_REQUIRED_LIBRARIES})
@@ -40,7 +40,7 @@ if(ZSTD_FOUND)
set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_SAVE})
set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_SAVE})
endif()
- set(ZSTD_RECENT_ENOUGH "${ZSTD_HAVE_DECOMPRESS_STREAM}")
+ set(ZSTD_RECENT_ENOUGH ${ZSTD_HAVE_DECOMPRESS_STREAM})
if (ZSTD_RECENT_ENOUGH)
set(ZSTD_USABLE TRUE)
diff --git a/libtiff/CMakeLists.txt b/libtiff/CMakeLists.txt
index 57f29b1f..346c2f0d 100755
--- a/libtiff/CMakeLists.txt
+++ b/libtiff/CMakeLists.txt
@@ -170,7 +170,7 @@ if(HAVE_LD_VERSION_SCRIPT)
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiff.map")
endif()
-if (tiff-install)
+if(tiff-install)
export(TARGETS tiff NAMESPACE TIFF:: FILE "${CMAKE_CURRENT_BINARY_DIR}/libtiffTargets.cmake")
install(TARGETS tiff EXPORT TiffTargets
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
@@ -218,7 +218,7 @@ if(CXX_SUPPORT)
"-Wl,--version-script=${CMAKE_CURRENT_SOURCE_DIR}/libtiffxx.map")
endif()
- if (tiff-install)
+ if(tiff-install)
install(TARGETS tiffxx
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}