Blame cmake/generateConfigFile.cmake

Packit 01d647
include(CheckIncludeFileCXX)
Packit 01d647
include(CheckCXXSourceCompiles)
Packit 01d647
include(CheckCXXSymbolExists)
Packit 01d647
Packit 01d647
# Note that the scope of the EXV_ variables in local
Packit 01d647
if (${EXIV2_ENABLE_WEBREADY})
Packit 01d647
    set(EXV_USE_SSH   ${EXIV2_ENABLE_SSH})
Packit 01d647
    set(EXV_USE_CURL  ${EXIV2_ENABLE_CURL})
Packit 01d647
endif()
Packit 01d647
set(EXV_ENABLE_VIDEO     ${EXIV2_ENABLE_VIDEO})
Packit 01d647
set(EXV_ENABLE_WEBREADY  ${EXIV2_ENABLE_WEBREADY})
Packit 01d647
set(EXV_HAVE_LENSDATA    ${EXIV2_ENABLE_LENSDATA})
Packit 01d647
set(EXV_HAVE_PRINTUCS2   ${EXIV2_ENABLE_PRINTUCS2})
Packit 01d647
Packit 01d647
set(EXV_PACKAGE_NAME     ${PROJECT_NAME})
Packit 01d647
set(EXV_PACKAGE_VERSION  ${PROJECT_VERSION})
Packit 01d647
set(EXV_PACKAGE_STRING   "${PROJECT_NAME} ${PROJECT_VERSION}")
Packit 01d647
if (${EXIV2_ENABLE_XMP} OR ${EXIV2_ENABLE_EXTERNAL_XMP})
Packit 01d647
    set(EXV_HAVE_XMP_TOOLKIT ON)
Packit 01d647
else()
Packit 01d647
    set(EXV_HAVE_XMP_TOOLKIT OFF)
Packit 01d647
endif()
Packit 01d647
set(EXV_HAVE_ICONV       ${ICONV_FOUND})
Packit 01d647
set(EXV_HAVE_LIBZ        ${ZLIB_FOUND})
Packit 01d647
set(EXV_UNICODE_PATH     ${EXIV2_ENABLE_WIN_UNICODE})
Packit 01d647
Packit 01d647
check_cxx_symbol_exists(gmtime_r    time.h         EXV_HAVE_GMTIME_R)
Packit 01d647
check_cxx_symbol_exists(mmap        sys/mman.h     EXV_HAVE_MMAP )
Packit 01d647
check_cxx_symbol_exists(munmap      sys/mman.h     EXV_HAVE_MUNMAP )
Packit 01d647
check_cxx_symbol_exists(strerror_r  string.h       EXV_HAVE_STRERROR_R )
Packit 01d647
Packit 01d647
check_cxx_source_compiles( "
Packit 01d647
#include <string.h>
Packit 01d647
int main() {
Packit 01d647
    char buff[100];
Packit 01d647
    const char* c = strerror_r(0,buff,100);
Packit 01d647
    return 0;
Packit 01d647
}" EXV_STRERROR_R_CHAR_P )
Packit 01d647
Packit 01d647
check_include_file_cxx( "memory.h"      EXV_HAVE_MEMORY_H )
Packit 01d647
check_include_file_cxx( "process.h"     EXV_HAVE_PROCESS_H )
Packit 01d647
check_include_file_cxx( "stdbool.h"     EXV_HAVE_STDBOOL_H )
Packit 01d647
check_include_file_cxx( "stdint.h"      EXV_HAVE_STDINT_H )
Packit 01d647
check_include_file_cxx( "strings.h"     EXV_HAVE_STRINGS_H )
Packit 01d647
check_include_file_cxx( "sys/stat.h"    EXV_HAVE_SYS_STAT_H )
Packit 01d647
check_include_file_cxx( "sys/types.h"   EXV_HAVE_SYS_TYPES_H )
Packit 01d647
check_include_file_cxx( "inttypes.h"    EXV_HAVE_INTTYPES_H )
Packit 01d647
check_include_file_cxx( "unistd.h"      EXV_HAVE_UNISTD_H )
Packit 01d647
check_include_file_cxx( "sys/mman.h"    EXV_HAVE_SYS_MMAN_H )
Packit 01d647
if ( NOT MINGW AND NOT MSYS AND NOT MSVC )
Packit 01d647
check_include_file_cxx( "regex.h"       EXV_HAVE_REGEX_H )
Packit 01d647
endif()
Packit 01d647
Packit 01d647
set(EXV_ENABLE_NLS ${EXIV2_ENABLE_NLS})
Packit 01d647
Packit 01d647
configure_file(cmake/config.h.cmake ${CMAKE_BINARY_DIR}/exv_conf.h @ONLY)