diff options
author | julie <julielangou@users.noreply.github.com> | 2010-12-31 01:33:24 +0000 |
---|---|---|
committer | julie <julielangou@users.noreply.github.com> | 2010-12-31 01:33:24 +0000 |
commit | 8326a972ee36357ae635e91b43e9c250ed35a202 (patch) | |
tree | 6dc83a41d83df695364a17a96674ada3586d68ec /CMAKE/CheckFortranIntSize.cmake | |
parent | 1a1c5a44dfaa87cb8a6292e03c57d77b987320b4 (diff) | |
download | lapack-8326a972ee36357ae635e91b43e9c250ed35a202.tar.gz lapack-8326a972ee36357ae635e91b43e9c250ed35a202.tar.bz2 lapack-8326a972ee36357ae635e91b43e9c250ed35a202.zip |
Re-worked the type size check to be much more compact
- Chuck Atkins (Kitware)
Diffstat (limited to 'CMAKE/CheckFortranIntSize.cmake')
-rw-r--r-- | CMAKE/CheckFortranIntSize.cmake | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/CMAKE/CheckFortranIntSize.cmake b/CMAKE/CheckFortranIntSize.cmake deleted file mode 100644 index d575e2e8..00000000 --- a/CMAKE/CheckFortranIntSize.cmake +++ /dev/null @@ -1,60 +0,0 @@ -# This module perdorms several try-compiles to determine the default integer -# size being used by the fortran compiler -# -# After execution, the following variable is set: -# -# SIZEOF_INTEGER - Number of bytes used to store the default integer type -# Will be set to 1, 2, 4, 8 or 16 if successful, otherwise it -# will be unset -# -#============================================================================= -# Author: Chuck Atkins -# Copyright 2010 -#============================================================================= - -macro( CHECK_FORTRAN_INT_SIZE ) - if( NOT CMAKE_Fortran_COMPILER_SUPPORTS_F90 ) - message( FATAL_ERROR "Type size tests require Fortran 90 support" ) - endif() - if( NOT SIZEOF_INTEGER ) - foreach( _TEST_SIZE 1 2 4 8 16 ) - message( STATUS "Testing default integer*${_TEST_SIZE} - " ) - set( _TEST_FILE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranInteger${_TEST_SIZE}.f90 ) - file( WRITE ${_TEST_FILE} " - module check_int_size - interface int_size - function int_size_${_TEST_SIZE}(a) result(int_size) - integer*${_TEST_SIZE} a - integer int_size - end function int_size_${_TEST_SIZE} - end interface - end module - - program check_int_size_${_TEST_SIZE} - use check_int_size - integer a, b - a = 7 - b = int_size(a) - end program - - function int_size_${_TEST_SIZE}(a) result(int_size) - integer*4 a - int_size = 7 - end function - ") - try_compile( SIZEOF_INTEGER ${CMAKE_BINARY_DIR} ${_TEST_FILE} ) - if( SIZEOF_INTEGER ) - message( STATUS "Testing default integer*${_TEST_SIZE} - found" ) - set( SIZEOF_INTEGER ${_TEST_SIZE} CACHE INTERNAL "Size of the default INTEGER type" FORCE ) - break() - else() - message( STATUS "Testing default integer*${_TEST_SIZE} - not found" ) - endif() - endforeach() - endif() - - if( NOT SIZEOF_INTEGER ) - unset( SIZEOF_INTEGER ) - endif() -endmacro() - |