diff options
| author | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-09-28 08:11:41 +0000 |
|---|---|---|
| committer | Mathieu Malaterre <mathieu.malaterre@gmail.com> | 2012-09-28 08:11:41 +0000 |
| commit | d518970039a19a2a9b6d2bdd592cc88a43897bbb (patch) | |
| tree | 57bac2cf7e63e9352228231062763baac627563c /CMake/TestLargeFiles.cmake | |
| parent | 8363a6ab1e031bb4b2e40a92e56efd40fdab1aa1 (diff) | |
[trunk] Start FolderReorgProposal task
Update issue 177
Diffstat (limited to 'CMake/TestLargeFiles.cmake')
| -rw-r--r-- | CMake/TestLargeFiles.cmake | 134 |
1 files changed, 0 insertions, 134 deletions
diff --git a/CMake/TestLargeFiles.cmake b/CMake/TestLargeFiles.cmake deleted file mode 100644 index d22782b4..00000000 --- a/CMake/TestLargeFiles.cmake +++ /dev/null @@ -1,134 +0,0 @@ -# - Define macro to check large file support -# -# OPJ_TEST_LARGE_FILES(VARIABLE) -# -# VARIABLE will be set to true if off_t is 64 bits, and fseeko/ftello present. -# This macro will also defines the necessary variable enable large file support, for instance -# _LARGE_FILES -# _LARGEFILE_SOURCE -# _FILE_OFFSET_BITS 64 -# HAVE_FSEEKO -# -# However, it is YOUR job to make sure these defines are set in a #cmakedefine so they -# end up in a config.h file that is included in your source if necessary! -# -# Adapted from Gromacs project (http://www.gromacs.org/) -# by Julien Malik -# - -macro(OPJ_TEST_LARGE_FILES VARIABLE) - if("${VARIABLE}" MATCHES "^${VARIABLE}$") - - # On most platforms it is probably overkill to first test the flags for 64-bit off_t, - # and then separately fseeko. However, in the future we might have 128-bit filesystems - # (ZFS), so it might be dangerous to indiscriminately set e.g. _FILE_OFFSET_BITS=64. - - message(STATUS "Checking for 64-bit off_t") - - # First check without any special flags - try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - "${PROJECT_SOURCE_DIR}/CMake/TestFileOffsetBits.c") - if(FILE64_OK) - message(STATUS "Checking for 64-bit off_t - present") - endif() - - if(NOT FILE64_OK) - # Test with _FILE_OFFSET_BITS=64 - try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - "${PROJECT_SOURCE_DIR}/CMake/TestFileOffsetBits.c" - COMPILE_DEFINITIONS "-D_FILE_OFFSET_BITS=64" ) - if(FILE64_OK) - message(STATUS "Checking for 64-bit off_t - present with _FILE_OFFSET_BITS=64") - set(_FILE_OFFSET_BITS 64) - endif() - endif() - - if(NOT FILE64_OK) - # Test with _LARGE_FILES - try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - "${PROJECT_SOURCE_DIR}/CMake/TestFileOffsetBits.c" - COMPILE_DEFINITIONS "-D_LARGE_FILES" ) - if(FILE64_OK) - message(STATUS "Checking for 64-bit off_t - present with _LARGE_FILES") - set(_LARGE_FILES 1) - endif() - endif() - - if(NOT FILE64_OK) - # Test with _LARGEFILE_SOURCE - try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - "${PROJECT_SOURCE_DIR}/CMake/TestFileOffsetBits.c" - COMPILE_DEFINITIONS "-D_LARGEFILE_SOURCE" ) - if(FILE64_OK) - message(STATUS "Checking for 64-bit off_t - present with _LARGEFILE_SOURCE") - set(_LARGEFILE_SOURCE 1) - endif() - endif() - - - #if(NOT FILE64_OK) - # # now check for Windows stuff - # try_compile(FILE64_OK "${PROJECT_BINARY_DIR}" - # "${PROJECT_SOURCE_DIR}/CMake/TestWindowsFSeek.c") - # if(FILE64_OK) - # message(STATUS "Checking for 64-bit off_t - present with _fseeki64") - # set(HAVE__FSEEKI64 1) - # endif() - #endif() - - if(NOT FILE64_OK) - message(STATUS "Checking for 64-bit off_t - not present") - endif() - - set(_FILE_OFFSET_BITS ${_FILE_OFFSET_BITS} CACHE INTERNAL "Result of test for needed _FILE_OFFSET_BITS=64") - set(_LARGE_FILES ${_LARGE_FILES} CACHE INTERNAL "Result of test for needed _LARGE_FILES") - set(_LARGEFILE_SOURCE ${_LARGEFILE_SOURCE} CACHE INTERNAL "Result of test for needed _LARGEFILE_SOURCE") - - # Set the flags we might have determined to be required above - configure_file("${PROJECT_SOURCE_DIR}/CMake/TestLargeFiles.c.cmake.in" - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestLargeFiles.c") - - message(STATUS "Checking for fseeko/ftello") - - # Test if ftello/fseeko are available - try_compile(FSEEKO_COMPILE_OK - "${PROJECT_BINARY_DIR}" - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestLargeFiles.c") - - if(FSEEKO_COMPILE_OK) - message(STATUS "Checking for fseeko/ftello - present") - endif() - - if(NOT FSEEKO_COMPILE_OK) - # glibc 2.2 needs _LARGEFILE_SOURCE for fseeko (but not for 64-bit off_t...) - try_compile(FSEEKO_COMPILE_OK - "${PROJECT_BINARY_DIR}" - "${PROJECT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/TestLargeFiles.c" - COMPILE_DEFINITIONS "-D_LARGEFILE_SOURCE" ) - - if(FSEEKO_COMPILE_OK) - message(STATUS "Checking for fseeko/ftello - present with _LARGEFILE_SOURCE") - set(_LARGEFILE_SOURCE ${_LARGEFILE_SOURCE} CACHE INTERNAL "Result of test for needed _LARGEFILE_SOURCE") - endif() - endif() - - if(FSEEKO_COMPILE_OK) - set(HAVE_FSEEKO ON CACHE INTERNAL "Result of test for fseeko/ftello") - else() - message(STATUS "Checking for fseeko/ftello - not found") - set(HAVE_FSEEKO OFF CACHE INTERNAL "Result of test for fseeko/ftello") - endif() - - if(FILE64_OK AND FSEEKO_COMPILE_OK) - message(STATUS "Large File support - found") - set(${VARIABLE} ON CACHE INTERNAL "Result of test for large file support") - else() - message(STATUS "Large File support - not found") - set(${VARIABLE} OFF CACHE INTERNAL "Result of test for large file support") - endif() - - endif() -endmacro() - - - |
