[Cmake-commits] [cmake-commits] hoffman committed CMakeLists.txt 1.14 1.15 foo.c NONE 1.1 foo.f NONE 1.1 mysub.f NONE 1.1

cmake-commits at cmake.org cmake-commits at cmake.org
Wed Oct 29 10:58:42 EDT 2008


Update of /cvsroot/CMake/CMake/Tests/Fortran
In directory public:/mounts/ram/cvs-serv31389/Tests/Fortran

Modified Files:
	CMakeLists.txt 
Added Files:
	foo.c foo.f mysub.f 
Log Message:
ENH: add test for FortranCInterface


--- NEW FILE: foo.f ---
      module test_mod
      interface dummy
         module procedure sub
      end interface
      contains
        subroutine sub
        end subroutine
      
      end module test_mod

Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/Fortran/CMakeLists.txt,v
retrieving revision 1.14
retrieving revision 1.15
diff -C 2 -d -r1.14 -r1.15
*** CMakeLists.txt	25 Mar 2008 15:26:51 -0000	1.14
--- CMakeLists.txt	29 Oct 2008 14:58:40 -0000	1.15
***************
*** 1,4 ****
  cmake_minimum_required (VERSION 2.6)
! PROJECT(testf Fortran)
  SET(CMAKE_VERBOSE_MAKEFILE 1)
  MESSAGE("ENV_FLAGS = $ENV{FFLAGS}")
--- 1,4 ----
  cmake_minimum_required (VERSION 2.6)
! PROJECT(testf C Fortran)
  SET(CMAKE_VERBOSE_MAKEFILE 1)
  MESSAGE("ENV_FLAGS = $ENV{FFLAGS}")
***************
*** 9,12 ****
--- 9,27 ----
  ADD_EXECUTABLE(testf hello.f)
  
+ # test the C to Fortran interface module
+ include(FortranCInterface)
+ if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
+   set(srcs foo.f)
+   set(FORTRAN_FUNCTIONS test_mod:sub)
+ endif()
+ set(FORTRAN_FUNCTIONS ${FORTRAN_FUNCTIONS} my_sub mysub )
+ set(srcs ${srcs} mysub.f foo.c)
+ create_fortran_c_interface("F_" FORTRAN_FUNCTIONS "${testf_BINARY_DIR}/foo.h")
+ include_directories("${testf_BINARY_DIR}")
+ add_executable(foo ${srcs})
+ 
+ 
+ 
+ 
  SET(TEST_MODULE_DEPENDS 0)
  IF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)

--- NEW FILE: mysub.f ---
      subroutine mysub
      end subroutine
      subroutine my_sub
      end subroutine

--- NEW FILE: foo.c ---
#include "foo.h"
extern F_test_mod_sub();
extern F_mysub();
int main()
{
  F_mysub();
  F_my_sub();
#ifdef F_test_mod_sub
  F_test_mod_sub();
#endif
}



More information about the Cmake-commits mailing list