# Check type sizes # # Copyright © 2015 Open Microscopy Environment / University of Dundee # Copyright © 2021 Roger Leigh # Written by Roger Leigh # # Permission to use, copy, modify, distribute, and sell this software and # its documentation for any purpose is hereby granted without fee, provided # that (i) the above copyright notices and this permission notice appear in # all copies of the software and related documentation, and (ii) the names of # Sam Leffler and Silicon Graphics may not be used in any advertising or # publicity relating to the software without the specific, prior written # permission of Sam Leffler and Silicon Graphics. # # THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, # EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY # WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. # # IN NO EVENT SHALL SAM LEFFLER OR SILICON GRAPHICS BE LIABLE FOR # ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, # OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, # WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF # LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE # OF THIS SOFTWARE. include("CheckTypeSize") set(CMAKE_EXTRA_INCLUDE_FILES_SAVE ${CMAKE_EXTRA_INCLUDE_FILES}) set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES} "stddef.h") check_type_size("size_t" SIZEOF_SIZE_T) set(CMAKE_EXTRA_INCLUDE_FILES ${CMAKE_EXTRA_INCLUDE_FILES_SAVE}) # C99 fixed-size integer types set(TIFF_INT8_T "int8_t") set(TIFF_UINT8_T "uint8_t") set(TIFF_INT16_T "int16_t") set(TIFF_UINT16_T "uint16_t") set(TIFF_INT32_T "int32_t") set(TIFF_UINT32_T "uint32_t") set(TIFF_INT64_T "int64_t") set(TIFF_UINT64_T "uint64_t") # size_t and TIFF signed size-type if(SIZEOF_SIZE_T EQUAL 4) set(TIFF_SSIZE_T "int32_t") elseif(SIZEOF_SIZE_T EQUAL 8) set(TIFF_SSIZE_T "int64_t") else() message(FATAL_ERROR "Unsupported size_t size ${SIZEOF_SIZE_T}; please add support") endif()