~laurynas-biveinis/percona-xtrabackup/xtrabackup-page-filters

« back to all changes in this revision

Viewing changes to src/libarchive/build/cmake/CheckFileOffsetBits.cmake

merge parallel compression branch.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
# - Check if _FILE_OFFSET_BITS macro needed for large files
 
2
# CHECK_FILE_OFFSET_BITS ()
 
3
#
 
4
# The following variables may be set before calling this macro to
 
5
# modify the way the check is run:
 
6
#
 
7
#  CMAKE_REQUIRED_FLAGS = string of compile command line flags
 
8
#  CMAKE_REQUIRED_DEFINITIONS = list of macros to define (-DFOO=bar)
 
9
#  CMAKE_REQUIRED_INCLUDES = list of include directories
 
10
# Copyright (c) 2009, Michihiro NAKAJIMA
 
11
#
 
12
# Redistribution and use is allowed according to the terms of the BSD license.
 
13
# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
 
14
 
 
15
#INCLUDE(CheckCXXSourceCompiles)
 
16
 
 
17
GET_FILENAME_COMPONENT(_selfdir_CheckFileOffsetBits
 
18
         "${CMAKE_CURRENT_LIST_FILE}" PATH)
 
19
 
 
20
MACRO (CHECK_FILE_OFFSET_BITS)
 
21
  IF(NOT DEFINED _FILE_OFFSET_BITS)
 
22
    MESSAGE(STATUS "Cheking _FILE_OFFSET_BITS for large files")
 
23
    TRY_COMPILE(__WITHOUT_FILE_OFFSET_BITS_64
 
24
      ${CMAKE_CURRENT_BINARY_DIR}
 
25
      ${_selfdir_CheckFileOffsetBits}/CheckFileOffsetBits.c
 
26
      COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS})
 
27
    IF(NOT __WITHOUT_FILE_OFFSET_BITS_64)
 
28
      TRY_COMPILE(__WITH_FILE_OFFSET_BITS_64
 
29
        ${CMAKE_CURRENT_BINARY_DIR}
 
30
        ${_selfdir_CheckFileOffsetBits}/CheckFileOffsetBits.c
 
31
        COMPILE_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS} -D_FILE_OFFSET_BITS=64)
 
32
    ENDIF(NOT __WITHOUT_FILE_OFFSET_BITS_64)
 
33
 
 
34
    IF(NOT __WITHOUT_FILE_OFFSET_BITS_64 AND __WITH_FILE_OFFSET_BITS_64)
 
35
      SET(_FILE_OFFSET_BITS 64 CACHE INTERNAL "_FILE_OFFSET_BITS macro needed for large files")
 
36
      MESSAGE(STATUS "Cheking _FILE_OFFSET_BITS for large files - needed")
 
37
    ELSE(NOT __WITHOUT_FILE_OFFSET_BITS_64 AND __WITH_FILE_OFFSET_BITS_64)
 
38
      SET(_FILE_OFFSET_BITS "" CACHE INTERNAL "_FILE_OFFSET_BITS macro needed for large files")
 
39
      MESSAGE(STATUS "Cheking _FILE_OFFSET_BITS for large files - not needed")
 
40
    ENDIF(NOT __WITHOUT_FILE_OFFSET_BITS_64 AND __WITH_FILE_OFFSET_BITS_64)
 
41
  ENDIF(NOT DEFINED _FILE_OFFSET_BITS)
 
42
 
 
43
ENDMACRO (CHECK_FILE_OFFSET_BITS)
 
44