cmake file(FUNCTION) examples

assimp/assimp cmake-modules/HunterGate.cmake :212

file(LOCK "${dir}" DIRECTORY GUARD FUNCTION)

CGNS/CGNS src/CMakeLists.txt :199

file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
    "Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
    "${OUTPUT}\n\n"
)

CGNS/CGNS src/CMakeLists.txt :206

file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
    "Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
    "${OUTPUT}\n\n")

CGNS/CGNS src/CMakeLists.txt :403

file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
    "Determining if the HDF5 ${FUNCTION} exists passed with the following output:\n"
    "${OUTPUT}\n\n"
)

CGNS/CGNS src/CMakeLists.txt :410

file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
    "Determining if the HDF5 ${FUNCTION} exists failed with the following output:\n"
    "${OUTPUT}\n\n")

ElmerCSC/elmerfem cmake/Modules/testProcedurePointer.cmake :4

file(WRITE ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/testFortranProcedurePointer.f90
"
FUNCTION addrof(fn) RESULT(faddr)
    USE ISO_C_BINDING
    IMPLICIT NONE
    INTERFACE
        SUBROUTINE dummysubr(x,y) bind(C)
          IMPORT
          IMPLICIT NONE
          REAL(KIND=C_FLOAT) :: x, y
        END SUBROUTINE dummysubr
    END INTERFACE
    PROCEDURE(dummysubr) :: fn  
    INTEGER(KIND=8) :: faddr
    TYPE(C_FUNPTR) :: cptr
    cptr = C_FUNLOC(fn)
    faddr = TRANSFER(cptr, faddr)
END FUNCTION addrof
SUBROUTINE mysin(x,y) BIND(C)
  USE ISO_C_BINDING
  IMPLICIT NONE
  REAL(KIND=C_FLOAT) :: x, y
  INTRINSIC SIN
  y=SIN(x)
END SUBROUTINE mysin
PROGRAM TESTFortranProcPtr
  USE ISO_C_BINDING
  IMPLICIT NONE
  ABSTRACT INTERFACE
    SUBROUTINE trig(x,y) BIND(C)
      IMPORT
      IMPLICIT NONE
      REAL(KIND=C_FLOAT) :: x, y
    END SUBROUTINE trig
  END INTERFACE
  INTERFACE
    SUBROUTINE mysin(x,y) BIND(C)
      IMPORT
      IMPLICIT NONE
      REAL(KIND=C_FLOAT) :: x, y
    END SUBROUTINE mysin
  END INTERFACE
  TYPE(C_FUNPTR) :: cfptr
  PROCEDURE(trig), POINTER :: trigf
  REAL(KIND=C_FLOAT) :: x, y, yc
  INTEGER(KIND=8) :: addrof, addr
  EXTERNAL :: addrof
  ! Mimic Elmer behaviour by transferring a function pointer to a 
  ! C pointer with TRANSFER, transfer back to Fortran pointer and 
  ! then call the function
  addr = addrof(mysin)
  cfptr = TRANSFER(addr,cfptr) 
  CALL C_F_PROCPOINTER(cfptr, trigf)
  x = real(3.14/2,C_FLOAT)
  CALL trigf(x,y)
  CALL mysin(x,yc)
  write (*,*) y, yc
END PROGRAM TESTFortranProcPtr
  ")

HDFGroup/hdf4 HDF4Examples/config/cmake/HDF4UseFortran.cmake :65

file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
    "Determining if the Fortran ${FUNCTION} exists passed with the following output:\n"
    "${OUTPUT}\n\n"
)

HDFGroup/hdf4 HDF4Examples/config/cmake/HDF4UseFortran.cmake :72

file (APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
    "Determining if the Fortran ${FUNCTION} exists failed with the following output:\n"
    "${OUTPUT}\n\n")

OpenMathLib/OpenBLAS lapack-netlib/CMAKE/CheckTimeFunction.cmake :19

file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeOutput.log
  "Fortran ${FUNCTION} exists. ${OUTPUT} \n\n")

OpenMathLib/OpenBLAS lapack-netlib/CMAKE/CheckTimeFunction.cmake :23

file(APPEND ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log
  "Fortran ${FUNCTION} does not exist. \n ${OUTPUT} \n")