vcpkg/ports/libexif/CMakeLists.txt

143 lines
3.6 KiB
CMake
Raw Normal View History

2017-10-02 07:06:12 +08:00
cmake_minimum_required(VERSION 3.0)
project(libexif LANGUAGES C)
set(PACKAGE "libexif")
option(ENABLE_NLS "Enable NLS" OFF)
set(HEADERS
libexif/_stdint.h
libexif/exif.h
libexif/exif-byte-order.h
libexif/exif-content.h
libexif/exif-data.h
libexif/exif-data-type.h
libexif/exif-entry.h
libexif/exif-format.h
libexif/exif-ifd.h
libexif/exif-loader.h
libexif/exif-log.h
libexif/exif-mem.h
libexif/exif-mnote-data.h
libexif/exif-mnote-data-priv.h
libexif/exif-system.h
libexif/exif-tag.h
libexif/exif-utils.h
)
set(SOURCES
libexif/exif-byte-order.c
libexif/exif-content.c
libexif/exif-data.c
libexif/exif-entry.c
libexif/exif-format.c
libexif/exif-ifd.c
libexif/exif-loader.c
libexif/exif-log.c
libexif/exif-mem.c
libexif/exif-mnote-data.c
libexif/exif-tag.c
libexif/exif-utils.c
)
set(HEADERS_CANON
libexif/canon/exif-mnote-data-canon.h
libexif/canon/mnote-canon-entry.h
libexif/canon/mnote-canon-tag.h
)
set(SOURCES_CANON
libexif/canon/exif-mnote-data-canon.c
libexif/canon/mnote-canon-entry.c
libexif/canon/mnote-canon-tag.c
)
set(HEADERS_FUJI
libexif/fuji/exif-mnote-data-fuji.h
libexif/fuji/mnote-fuji-entry.h
libexif/fuji/mnote-fuji-tag.h
)
set(SOURCES_FUJI
libexif/fuji/exif-mnote-data-fuji.c
libexif/fuji/mnote-fuji-entry.c
libexif/fuji/mnote-fuji-tag.c
)
set(HEADERS_OLYMPUS
libexif/olympus/exif-mnote-data-olympus.h
libexif/olympus/mnote-olympus-entry.h
libexif/olympus/mnote-olympus-tag.h
)
set(SOURCES_OLYMPUS
libexif/olympus/exif-mnote-data-olympus.c
libexif/olympus/mnote-olympus-entry.c
libexif/olympus/mnote-olympus-tag.c
)
set(HEADERS_PENTAX
libexif/pentax/exif-mnote-data-pentax.h
libexif/pentax/mnote-pentax-entry.h
libexif/pentax/mnote-pentax-tag.h
)
set(SOURCES_PENTAX
libexif/pentax/exif-mnote-data-pentax.c
libexif/pentax/mnote-pentax-entry.c
libexif/pentax/mnote-pentax-tag.c
)
if(MSVC)
set(SOURCES_MSVC "libexif.def")
endif()
add_library(libexif
${SOURCES}
${SOURCES_CANON}
${SOURCES_FUJI}
${SOURCES_OLYMPUS}
${SOURCES_PENTAX}
${SOURCES_MSVC}
)
target_include_directories(libexif PRIVATE .)
target_include_directories(libexif PRIVATE ${CMAKE_BINARY_DIR})
target_compile_definitions(libexif PRIVATE -D_CRT_SECURE_NO_WARNINGS)
target_compile_definitions(libexif PRIVATE -DGETTEXT_PACKAGE="${PACKAGE}")
include(CheckFunctionExists)
include(CheckIncludeFile)
check_function_exists(dcgettext HAVE_DCGETTEXT)
check_function_exists(gettext HAVE_DCGETTEXT)
check_function_exists(iconv HAVE_DCGETTEXT)
check_function_exists(localtime_r HAVE_DCGETTEXT)
check_include_file(dlfcn.h HAVE_DLFCN_H)
check_include_file(inttypes.h HAVE_INTTYPES_H)
check_include_file(memory.h HAVE_MEMORY_H)
check_include_file(stdint.h HAVE_STDINT_H)
check_include_file(stdlib.h HAVE_STDLIB_H)
check_include_file(strings.h HAVE_STRINGS_H)
check_include_file(string.h HAVE_STRING_H)
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
check_include_file(sys/stat.h HAVE_SYS_STAT_H)
check_include_file(sys/types.h HAVE_SYS_TYPES_H)
check_include_file(unistd.h HAVE_UNISTD_H)
configure_file(config.h.cmake config.h)
install(
TARGETS libexif
RUNTIME DESTINATION bin
ARCHIVE DESTINATION lib
LIBRARY DESTINATION lib
)
install(FILES ${HEADERS} DESTINATION include/libexif)
install(FILES ${HEADERS_CANON} DESTINATION include/libexif/canon)
install(FILES ${HEADERS_FUJI} DESTINATION include/libexif/fuji)
install(FILES ${HEADERS_OLYMPUS} DESTINATION include/libexif/olympus)
install(FILES ${HEADERS_PENTAX} DESTINATION include/libexif/pentax)