[Cmake-commits] [cmake-commits] hoffman committed CMakeLists.txt 1.13.2.1 1.13.2.2
cmake-commits at cmake.org
cmake-commits at cmake.org
Tue Dec 2 07:07:44 EST 2008
Update of /cvsroot/CMake/CMake/Tests/Fortran
In directory public:/mounts/ram/cvs-serv12155/Tests/Fortran
Modified Files:
Tag: CMake-2-6
CMakeLists.txt
Log Message:
ENH: merge in RC 5
Index: CMakeLists.txt
===================================================================
RCS file: /cvsroot/CMake/CMake/Tests/Fortran/CMakeLists.txt,v
retrieving revision 1.13.2.1
retrieving revision 1.13.2.2
diff -C 2 -d -r1.13.2.1 -r1.13.2.2
*** CMakeLists.txt 25 Mar 2008 23:59:12 -0000 1.13.2.1
--- CMakeLists.txt 2 Dec 2008 12:07:41 -0000 1.13.2.2
***************
*** 1,43 ****
cmake_minimum_required (VERSION 2.6)
! PROJECT(testf Fortran)
! SET(CMAKE_VERBOSE_MAKEFILE 1)
! MESSAGE("ENV_FLAGS = $ENV{FFLAGS}")
! MESSAGE("CMAKE_Fortran_COMPILER_INIT = ${CMAKE_Fortran_COMPILER_INIT}")
! MESSAGE("CMAKE_Fortran_COMPILER_FULLPATH = ${CMAKE_Fortran_COMPILER_FULLPATH}")
! MESSAGE("CMAKE_Fortran_COMPILER = ${CMAKE_Fortran_COMPILER}")
! MESSAGE("CMAKE_Fortran_FLAGS = ${CMAKE_Fortran_FLAGS}")
! ADD_EXECUTABLE(testf hello.f)
! SET(TEST_MODULE_DEPENDS 0)
! IF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
! ADD_EXECUTABLE(test_module
test_module_main.f90
test_module_implementation.f90
test_module_interface.f90)
! ADD_EXECUTABLE(test_use_in_comment_fixedform
test_use_in_comment_fixedform.f)
! ADD_EXECUTABLE(test_use_in_comment_freeform
test_use_in_comment_freeform.f90)
! ADD_EXECUTABLE(test_in_interface
in_interface/main.f90
in_interface/module.f90)
! ADD_DEFINITIONS(-DFOO -DBAR=1)
! ADD_EXECUTABLE(test_preprocess test_preprocess.F90)
! SET(TEST_MODULE_DEPENDS 1)
! ENDIF(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
! IF(TEST_MODULE_DEPENDS)
# Build the external project separately using a custom target.
# Make sure it uses the same build configuration as this test.
! IF(CMAKE_CONFIGURATION_TYPES)
! SET(External_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
! ELSE(CMAKE_CONFIGURATION_TYPES)
! SET(External_CONFIG_TYPE)
! ENDIF(CMAKE_CONFIGURATION_TYPES)
! ADD_CUSTOM_COMMAND(
OUTPUT ${testf_BINARY_DIR}/ExternalProject
COMMAND ${CMAKE_CTEST_COMMAND}
--- 1,145 ----
cmake_minimum_required (VERSION 2.6)
! project(testf Fortran C)
! message("CTEST_FULL_OUTPUT ")
! set(CMAKE_VERBOSE_MAKEFILE 1)
! message("ENV_FLAGS = $ENV{FFLAGS}")
! message("CMAKE_Fortran_COMPILER_INIT = ${CMAKE_Fortran_COMPILER_INIT}")
! message("CMAKE_Fortran_COMPILER_FULLPATH = ${CMAKE_Fortran_COMPILER_FULLPATH}")
! message("CMAKE_Fortran_COMPILER = ${CMAKE_Fortran_COMPILER}")
! message("CMAKE_Fortran_FLAGS = ${CMAKE_Fortran_FLAGS}")
! add_executable(testf hello.f)
!
! function(test_fortran_c_interface_module)
! message(STATUS "Testing FortranCInterface module")
! # test the C to Fortran interface module
! include(FortranCInterface)
! if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
! if(FORTRAN_C_MODULE_MANGLING_FOUND)
! set(srcs foo.f)
! set(FORTRAN_FUNCTIONS test_mod:sub)
! else(FORTRAN_C_MODULE_MANGLING_FOUND)
! if(CMAKE_Fortran_COMPILER_ID MATCHES "SunPro|MIPSpro")
! message("${CMAKE_Fortran_COMPILER_ID} compilers do not support"
! " linking Fortran module procedures from C")
! else()
! message("This will fail, but let the user see the error")
! set(srcs foo.f)
! set(FORTRAN_FUNCTIONS test_mod:sub)
! endif()
! endif(FORTRAN_C_MODULE_MANGLING_FOUND)
! 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}")
!
! # if the name mangling is not found for a F90 compiler
! # print out some diagnostic stuff for the dashboard
! if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
! if(NOT FORTRAN_C_MODULE_MANGLING_FOUND)
! file(GLOB_RECURSE O_OBJFILES
! "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckFortranLink/*.o"
! "*.o" )
! file(GLOB_RECURSE OBJ_OBJFILES
! "${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeTmp/CheckFortranLink/*.obj")
! find_program(DUMPBIN dumpbin)
! find_program(NM nm)
! foreach(ofile ${O_OBJFILES} ${OBJ_OBJFILES})
! if(DEPENDS)
! execute_process(COMMAND ${DUMPBIN} /symbols "${ofile}"
! OUTPUT_VARIABLE out)
! message("symbols in ${ofile}:\n${out}")
! endif()
! if(NM)
! execute_process(COMMAND ${NM} "${ofile}" OUTPUT_VARIABLE out)
! message("symbols in ${ofile}:\n${out}")
! endif()
! endforeach()
! endif()
! endif()
! message("Fortran = ${CMAKE_Fortran_COMPILER_ID}")
! message("C = ${CMAKE_C_COMPILER_ID}")
! add_executable(foo ${srcs})
! if(NOT ("$ENV{EXTRA_FORTRAN_C_LIBS}" STREQUAL ""))
! message(STATUS
! "linking in extra C to Fortran libs $ENV{EXTRA_FORTRAN_C_LIBS}")
! target_link_libraries(foo $ENV{EXTRA_FORTRAN_C_LIBS})
! endif()
! # print out some stuff to help debug on machines via cdash
! file(READ "${testf_BINARY_DIR}/foo.h" fooh)
! message("foo.h contents:\n${fooh}")
! endfunction()
!
! # if the id's match or the compilers are compatible, then
! # call the test_fortran_c_interface_module function
! if(("${CMAKE_Fortran_COMPILER_ID}" MATCHES "Intel")
! AND
! ("${CMAKE_C_COMPILER_ID}" MATCHES "MSVC")
! )
! set(COMPATABLE_COMPILERS TRUE)
! endif()
! if(COMPATABLE_COMPILERS
! OR ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "${CMAKE_C_COMPILER_ID}" ))
! test_fortran_c_interface_module()
! else()
! message("Fortran does not match c compiler")
! message("Fortran = ${CMAKE_Fortran_COMPILER_ID}")
! message("C = ${CMAKE_C_COMPILER_ID}")
! # hack to make g77 work after CL has been enabled
! # as a languge, cmake needs language specific versions
! # of these variables....
! if(WIN32 AND "${CMAKE_Fortran_COMPILER_ID}" MATCHES "GNU")
! set(CMAKE_CREATE_CONSOLE_EXE )
! set(CMAKE_LIBRARY_PATH_FLAG "-L")
! set(CMAKE_LINK_LIBRARY_FLAG "-l")
! set(CMAKE_LINK_LIBRARY_SUFFIX )
! endif()
! # gnu and sunpro do not use the same flags here...
! # however if LDFLAGS is used to set -m64 it causes odd stuf
! # with the fortran build
! if( ("${CMAKE_C_COMPILER_ID}" MATCHES "GNU")
! AND ("${CMAKE_Fortran_COMPILER_ID}" MATCHES "SunPro"))
! set(CMAKE_EXE_LINKER_FLAGS "")
! set(CMAKE_Fortran_FLAGS "")
! endif()
!
! endif()
!
!
!
!
! set(TEST_MODULE_DEPENDS 0)
! if(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
! add_executable(test_module
test_module_main.f90
test_module_implementation.f90
test_module_interface.f90)
! add_executable(test_use_in_comment_fixedform
test_use_in_comment_fixedform.f)
! add_executable(test_use_in_comment_freeform
test_use_in_comment_freeform.f90)
! add_executable(test_in_interface
in_interface/main.f90
in_interface/module.f90)
! add_definitions(-DFOO -DBAR=1)
! add_executable(test_preprocess test_preprocess.F90)
! set(TEST_MODULE_DEPENDS 1)
! endif(CMAKE_Fortran_COMPILER_SUPPORTS_F90)
! if(TEST_MODULE_DEPENDS)
# Build the external project separately using a custom target.
# Make sure it uses the same build configuration as this test.
! if(CMAKE_CONFIGURATION_TYPES)
! set(External_CONFIG_TYPE -C "${CMAKE_CFG_INTDIR}")
! else(CMAKE_CONFIGURATION_TYPES)
! set(External_CONFIG_TYPE)
! endif(CMAKE_CONFIGURATION_TYPES)
! add_custom_command(
OUTPUT ${testf_BINARY_DIR}/ExternalProject
COMMAND ${CMAKE_CTEST_COMMAND}
***************
*** 58,71 ****
-DCMAKE_Fortran_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_Fortran_FLAGS_RELWITHDEBINFO}
)
! ADD_CUSTOM_TARGET(ExternalTarget ALL DEPENDS ${testf_BINARY_DIR}/ExternalProject)
# Test module output directory if available.
! IF(CMAKE_Fortran_MODDIR_FLAG)
! SET(Library_MODDIR "${testf_BINARY_DIR}/Library/modules")
! ELSE(CMAKE_Fortran_MODDIR_FLAG)
! SET(Library_MODDIR "${testf_BINARY_DIR}/Library")
! ENDIF(CMAKE_Fortran_MODDIR_FLAG)
! ADD_SUBDIRECTORY(Library)
! ADD_SUBDIRECTORY(Executable)
! ENDIF(TEST_MODULE_DEPENDS)
--- 160,173 ----
-DCMAKE_Fortran_FLAGS_RELWITHDEBINFO:STRING=${CMAKE_Fortran_FLAGS_RELWITHDEBINFO}
)
! add_custom_target(ExternalTarget ALL DEPENDS ${testf_BINARY_DIR}/ExternalProject)
# Test module output directory if available.
! if(CMAKE_Fortran_MODDIR_FLAG)
! set(Library_MODDIR "${testf_BINARY_DIR}/Library/modules")
! else(CMAKE_Fortran_MODDIR_FLAG)
! set(Library_MODDIR "${testf_BINARY_DIR}/Library")
! endif(CMAKE_Fortran_MODDIR_FLAG)
! add_subdirectory(Library)
! add_subdirectory(Executable)
! endif(TEST_MODULE_DEPENDS)
More information about the Cmake-commits
mailing list