Merge topic 'FindTIFF-imported-targets'
ebaca629
FindTIFF: Add imported targets and update documentation
This commit is contained in:
commit
128d569af0
|
@ -0,0 +1,4 @@
|
||||||
|
FindTIFF-imported-targets
|
||||||
|
-------------------------
|
||||||
|
|
||||||
|
* The :module:`FindTIFF` module now provides imported targets.
|
|
@ -2,24 +2,43 @@
|
||||||
# FindTIFF
|
# FindTIFF
|
||||||
# --------
|
# --------
|
||||||
#
|
#
|
||||||
# Find TIFF library
|
# Find the TIFF library (libtiff).
|
||||||
#
|
#
|
||||||
# Find the native TIFF includes and library This module defines
|
# Imported targets
|
||||||
|
# ^^^^^^^^^^^^^^^^
|
||||||
#
|
#
|
||||||
# ::
|
# This module defines the following :prop_tgt:`IMPORTED` targets:
|
||||||
#
|
#
|
||||||
# TIFF_INCLUDE_DIR, where to find tiff.h, etc.
|
# ``TIFF::TIFF``
|
||||||
# TIFF_LIBRARIES, libraries to link against to use TIFF.
|
# The TIFF library, if found.
|
||||||
# TIFF_FOUND, If false, do not try to use TIFF.
|
|
||||||
#
|
#
|
||||||
# also defined, but not for general use are
|
# Result variables
|
||||||
|
# ^^^^^^^^^^^^^^^^
|
||||||
#
|
#
|
||||||
# ::
|
# This module will set the following variables in your project:
|
||||||
#
|
#
|
||||||
# TIFF_LIBRARY, where to find the TIFF library.
|
# ``TIFF_FOUND``
|
||||||
|
# true if the TIFF headers and libraries were found
|
||||||
|
# ``TIFF_INCLUDE_DIR``
|
||||||
|
# the directory containing the TIFF headers
|
||||||
|
# ``TIFF_INCLUDE_DIRS``
|
||||||
|
# the directory containing the TIFF headers
|
||||||
|
# ``TIFF_LIBRARIES``
|
||||||
|
# TIFF libraries to be linked
|
||||||
|
#
|
||||||
|
# Cache variables
|
||||||
|
# ^^^^^^^^^^^^^^^
|
||||||
|
#
|
||||||
|
# The following cache variables may also be set:
|
||||||
|
#
|
||||||
|
# ``TIFF_INCLUDE_DIR``
|
||||||
|
# the directory containing the TIFF headers
|
||||||
|
# ``TIFF_LIBRARY``
|
||||||
|
# the path to the TIFF library
|
||||||
|
|
||||||
#=============================================================================
|
#=============================================================================
|
||||||
# Copyright 2002-2009 Kitware, Inc.
|
# Copyright 2002-2009 Kitware, Inc.
|
||||||
|
# Copyright 2015 University of Dundee
|
||||||
#
|
#
|
||||||
# Distributed under the OSI-approved BSD License (the "License");
|
# Distributed under the OSI-approved BSD License (the "License");
|
||||||
# see accompanying file Copyright.txt for details.
|
# see accompanying file Copyright.txt for details.
|
||||||
|
@ -66,6 +85,34 @@ FIND_PACKAGE_HANDLE_STANDARD_ARGS(TIFF
|
||||||
|
|
||||||
if(TIFF_FOUND)
|
if(TIFF_FOUND)
|
||||||
set(TIFF_LIBRARIES ${TIFF_LIBRARY})
|
set(TIFF_LIBRARIES ${TIFF_LIBRARY})
|
||||||
|
set(TIFF_INCLUDE_DIRS "${TIFF_INCLUDE_DIR}")
|
||||||
|
|
||||||
|
if(NOT TARGET TIFF::TIFF)
|
||||||
|
add_library(TIFF::TIFF UNKNOWN IMPORTED)
|
||||||
|
if(TIFF_INCLUDE_DIRS)
|
||||||
|
set_target_properties(TIFF::TIFF PROPERTIES
|
||||||
|
INTERFACE_INCLUDE_DIRECTORIES "${TIFF_INCLUDE_DIRS}")
|
||||||
|
endif()
|
||||||
|
if(EXISTS "${TIFF_LIBRARY}")
|
||||||
|
set_target_properties(TIFF::TIFF PROPERTIES
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES "C"
|
||||||
|
IMPORTED_LOCATION "${TIFF_LIBRARY}")
|
||||||
|
endif()
|
||||||
|
if(EXISTS "${TIFF_LIBRARY_DEBUG}")
|
||||||
|
set_property(TARGET TIFF::TIFF APPEND PROPERTY
|
||||||
|
IMPORTED_CONFIGURATIONS DEBUG)
|
||||||
|
set_target_properties(TIFF::TIFF PROPERTIES
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES_DEBUG "C"
|
||||||
|
IMPORTED_LOCATION_DEBUG "${TIFF_LIBRARY_DEBUG}")
|
||||||
|
endif()
|
||||||
|
if(EXISTS "${TIFF_LIBRARY_RELEASE}")
|
||||||
|
set_property(TARGET TIFF::TIFF APPEND PROPERTY
|
||||||
|
IMPORTED_CONFIGURATIONS RELEASE)
|
||||||
|
set_target_properties(TIFF::TIFF PROPERTIES
|
||||||
|
IMPORTED_LINK_INTERFACE_LANGUAGES_RELEASE "C"
|
||||||
|
IMPORTED_LOCATION_RELEASE "${TIFF_LIBRARY_RELEASE}")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
mark_as_advanced(TIFF_INCLUDE_DIR TIFF_LIBRARY)
|
mark_as_advanced(TIFF_INCLUDE_DIR TIFF_LIBRARY)
|
||||||
|
|
|
@ -1370,6 +1370,10 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
||||||
add_subdirectory(FindOpenSSL)
|
add_subdirectory(FindOpenSSL)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMake_TEST_FindTIFF)
|
||||||
|
add_subdirectory(FindTIFF)
|
||||||
|
endif()
|
||||||
|
|
||||||
if(CMake_TEST_FindXercesC)
|
if(CMake_TEST_FindXercesC)
|
||||||
add_subdirectory(FindXercesC)
|
add_subdirectory(FindXercesC)
|
||||||
endif()
|
endif()
|
||||||
|
|
|
@ -0,0 +1,10 @@
|
||||||
|
add_test(NAME FindTIFF.Test COMMAND
|
||||||
|
${CMAKE_CTEST_COMMAND} -C $<CONFIGURATION>
|
||||||
|
--build-and-test
|
||||||
|
"${CMake_SOURCE_DIR}/Tests/FindTIFF/Test"
|
||||||
|
"${CMake_BINARY_DIR}/Tests/FindTIFF/Test"
|
||||||
|
${build_generator_args}
|
||||||
|
--build-project TestFindTIFF
|
||||||
|
--build-options ${build_options}
|
||||||
|
--test-command ${CMAKE_CTEST_COMMAND} -V -C $<CONFIGURATION>
|
||||||
|
)
|
|
@ -0,0 +1,17 @@
|
||||||
|
cmake_minimum_required(VERSION 3.1)
|
||||||
|
project(TestFindTIFF C)
|
||||||
|
include(CTest)
|
||||||
|
|
||||||
|
# CMake does not actually provide FindTIFF publicly.
|
||||||
|
set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/../../../Source/Modules)
|
||||||
|
|
||||||
|
find_package(TIFF REQUIRED)
|
||||||
|
|
||||||
|
add_executable(test_xercesc_tgt main.c)
|
||||||
|
target_link_libraries(test_xercesc_tgt TIFF::TIFF)
|
||||||
|
add_test(NAME test_xercesc_tgt COMMAND test_xercesc_tgt)
|
||||||
|
|
||||||
|
add_executable(test_xercesc_var main.c)
|
||||||
|
target_include_directories(test_xercesc_var PRIVATE ${TIFF_INCLUDE_DIRS})
|
||||||
|
target_link_libraries(test_xercesc_var PRIVATE ${TIFF_LIBRARIES})
|
||||||
|
add_test(NAME test_xercesc_var COMMAND test_xercesc_var)
|
|
@ -0,0 +1,12 @@
|
||||||
|
#include <assert.h>
|
||||||
|
#include <tiffio.h>
|
||||||
|
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
/* Without any TIFF file to open, test that the call fails as
|
||||||
|
expected. This tests that linking worked. */
|
||||||
|
TIFF *tiff = TIFFOpen("invalid.tiff", "r");
|
||||||
|
assert(!tiff);
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
Loading…
Reference in New Issue