From 249fceea00b8557c7ac38ee380fec0405b431ab2 Mon Sep 17 00:00:00 2001 From: Cezary Czaplewski Date: Thu, 7 May 2015 10:53:22 +0200 Subject: [PATCH] cmake compilation for cluster and wham repaired --- source/cluster/wham/src-M/CMakeLists.txt | 36 +++++++++++++++++ source/cluster/wham/src/CMakeLists.txt | 54 ++++++++++++++++++-------- source/unres/src_MD-M/energy_p_new_barrier.F | 2 +- source/wham/src/CMakeLists.txt | 9 +++-- source/wham/src/initialize_p.F | 4 +- 5 files changed, 82 insertions(+), 23 deletions(-) diff --git a/source/cluster/wham/src-M/CMakeLists.txt b/source/cluster/wham/src-M/CMakeLists.txt index 2ce99e2..d5fecf6 100644 --- a/source/cluster/wham/src-M/CMakeLists.txt +++ b/source/cluster/wham/src-M/CMakeLists.txt @@ -141,6 +141,42 @@ set_property(SOURCE proc_proc.c PROPERTY COMPILE_DEFINITIONS "LINUX -DPGI" ) set(UNRES_CLUSTER_WHAM_M_BIN "cluster_wham-M_${Fortran_COMPILER_NAME}.exe") #========================================= +# cinfo.f workaround for CMake +#========================================= +# get the current date +TODAY(DATE) +# generate cinfo.f + +set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f") +FILE(WRITE ${CINFO} +"C CMake generated file + subroutine cinfo + include 'COMMON.IOUNITS' + write(iout,*)'++++ Compile info ++++' + write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}' +") + +CINFO_FORMAT(${CINFO} "Compiled" "${DATE}" ) +CINFO_FORMAT(${CINFO} "Compiled by" "$ENV{USER}@$ENV{HOST}" ) +CINFO_FORMAT(${CINFO} "OS name:" "${CMAKE_SYSTEM_NAME}" ) +CINFO_FORMAT(${CINFO} "OS release:" "${CMAKE_SYSTEM}" ) +CINFO_FORMAT(${CINFO} "Fortran Compiler:" "${CMAKE_Fortran_COMPILER}" ) +CINFO_FORMAT(${CINFO} "MD Force field:" "${UNRES_MD_FF}" ) +CINFO_FORMAT(${CINFO} "CPPFLAGS =" "${CPPFLAGS}") + +FILE(APPEND ${CINFO} +" write(iout,*)'++++ End of compile info ++++' + return + end ") + +# set include path +set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f PROPERTY COMPILE_FLAGS "${FFLAGS0} -I${CMAKE_CURRENT_SOURCE_DIR}" ) + + +set_property(SOURCE proc_proc.c PROPERTY COMPILE_DEFINITIONS "LINUX -DPGI" ) + + +#========================================= # Set full unres CLUSTER sources #========================================= set(UNRES_CLUSTER_WHAM_M_SRCS ${UNRES_CLUSTER_WHAM_M_SRC0} proc_proc.c) diff --git a/source/cluster/wham/src/CMakeLists.txt b/source/cluster/wham/src/CMakeLists.txt index 760269e..7bdb679 100644 --- a/source/cluster/wham/src/CMakeLists.txt +++ b/source/cluster/wham/src/CMakeLists.txt @@ -21,7 +21,7 @@ set(UNRES_CLUSTER_WHAM_SRC0 icant.f initialize_p.F intcor.f - int_from_cart1.f + int_from_cart1.F main_clust.F matmult.f misc.f @@ -30,7 +30,7 @@ set(UNRES_CLUSTER_WHAM_SRC0 pinorm.f probabl.F read_coords.F - readpdb.f + readpdb.F readrtns.F rescode.f setup_var.f @@ -40,6 +40,7 @@ set(UNRES_CLUSTER_WHAM_SRC0 track.F wrtclust.f work_partition.F + dfa.F ) set(UNRES_CLUSTER_WHAM_PP_SRC @@ -65,11 +66,13 @@ if (Fortran_COMPILER_NAME STREQUAL "ifort") set(FFLAGS0 "-ip -w -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres " ) elseif (Fortran_COMPILER_NAME STREQUAL "gfortran") set(FFLAGS0 "-std=legacy -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres " ) +else () + set(FFLAGS0 "-g -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres" ) endif (Fortran_COMPILER_NAME STREQUAL "ifort") # Add MPI compiler flags if(UNRES_WITH_MPI) - set(FFLAGS0 "${FFLAGS0} -I${MPIF_INCLUDE_DIRECTORIES}") + set(FFLAGS0 "${FFLAGS0} -I${MPI_Fortran_INCLUDE_PATH}") endif(UNRES_WITH_MPI) set_property(SOURCE ${UNRES_CLUSTER_WHAM_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} ) @@ -136,20 +139,37 @@ set_property(SOURCE ${UNRES_CLUSTER_WHAM_PP_SRC} PROPERTY COMPILE_DEFINITIONS ${ set(UNRES_CLUSTER_WHAM_BIN "unres_clustMD.exe") #========================================= -# cinfo.f stupid workaround for cmake -# - shame on me ]:) +# cinfo.f workaround for CMake #========================================= -#set_property(SOURCE compinfo.c PROPERTY CMAKE_C_FLAGS "-c" ) -#add_executable(compinfo-wham-m compinfo.c) -#set_target_properties(compinfo-wham-m PROPERTIES OUTPUT_NAME compinfo) - -#set(UNRES_CINFO_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) -#add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f -# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cinfo.f ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f -# COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/COMMON.IOUNITS ${CMAKE_CURRENT_BINARY_DIR}/COMMON.IOUNITS -# COMMAND ${CMAKE_CURRENT_BINARY_DIR}/compinfo | true -# DEPENDS compinfo-wham-m ) -#set_property(SOURCE ${UNRES_CINFO_DIR}/cinfo.f PROPERTY COMPILE_FLAGS ${FFLAGS0} ) +# get the current date +TODAY(DATE) +# generate cinfo.f + +set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f") +FILE(WRITE ${CINFO} +"C CMake generated file + subroutine cinfo + include 'COMMON.IOUNITS' + write(iout,*)'++++ Compile info ++++' + write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}' +") + +CINFO_FORMAT(${CINFO} "Compiled" "${DATE}" ) +CINFO_FORMAT(${CINFO} "Compiled by" "$ENV{USER}@$ENV{HOST}" ) +CINFO_FORMAT(${CINFO} "OS name:" "${CMAKE_SYSTEM_NAME}" ) +CINFO_FORMAT(${CINFO} "OS release:" "${CMAKE_SYSTEM}" ) +CINFO_FORMAT(${CINFO} "Fortran Compiler:" "${CMAKE_Fortran_COMPILER}" ) +CINFO_FORMAT(${CINFO} "MD Force field:" "${UNRES_MD_FF}" ) +CINFO_FORMAT(${CINFO} "CPPFLAGS =" "${CPPFLAGS}") + +FILE(APPEND ${CINFO} +" write(iout,*)'++++ End of compile info ++++' + return + end ") + +# set include path +set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f PROPERTY COMPILE_FLAGS "${FFLAGS0} -I${CMAKE_CURRENT_SOURCE_DIR}" ) + set_property(SOURCE proc_proc.c PROPERTY COMPILE_DEFINITIONS "LINUX -DPGI" ) @@ -158,7 +178,7 @@ set_property(SOURCE proc_proc.c PROPERTY COMPILE_DEFINITIONS "LINUX -DPGI" ) #========================================= # Set full unres CLUSTER sources #========================================= -set(UNRES_CLUSTER_WHAM_SRCS ${UNRES_CLUSTER_WHAM_SRC0} proc_proc.c) +set(UNRES_CLUSTER_WHAM_SRCS ${UNRES_CLUSTER_WHAM_SRC0} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f proc_proc.c) diff --git a/source/unres/src_MD-M/energy_p_new_barrier.F b/source/unres/src_MD-M/energy_p_new_barrier.F index 539102b..ec85660 100644 --- a/source/unres/src_MD-M/energy_p_new_barrier.F +++ b/source/unres/src_MD-M/energy_p_new_barrier.F @@ -663,7 +663,7 @@ c enddo gradc(j,i,icg)=gradbufc(j,i)+welec*gelc(j,i)+ & wel_loc*gel_loc(j,i)+ & 0.5d0*(wscp*gvdwc_scpp(j,i)+ - & welec*gelc_long(j,i) + & welec*gelc_long(j,i) + & wel_loc*gel_loc_long(j,i)+ & wcorr*gcorr_long(j,i)+ & wcorr5*gradcorr5_long(j,i)+ diff --git a/source/wham/src/CMakeLists.txt b/source/wham/src/CMakeLists.txt index 4035b15..540872a 100644 --- a/source/wham/src/CMakeLists.txt +++ b/source/wham/src/CMakeLists.txt @@ -21,7 +21,7 @@ set(UNRES_WHAM_SRC0 arcos.f cartder.f cartprint.f - chainbuild.f + chainbuild.F geomout.F gnmr1.f icant.f @@ -42,7 +42,7 @@ set(UNRES_WHAM_SRC0 timing.F wham_calc1.F readrtns_compar.F - readpdb.f + readpdb.F fitsq.f contact.f elecont.f @@ -60,6 +60,7 @@ set(UNRES_WHAM_SRC0 proc_cont.f define_pairs.f mysort.f + dfa.F ) set(UNRES_WHAM_PP_SRC @@ -97,6 +98,8 @@ if (Fortran_COMPILER_NAME STREQUAL "ifort") set(FFLAGS0 "-mcmodel=medium -g -CB -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres" ) elseif (Fortran_COMPILER_NAME STREQUAL "gfortran") set(FFLAGS0 "-std=legacy -g -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres" ) +else () + set(FFLAGS0 "-g -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres" ) endif (Fortran_COMPILER_NAME STREQUAL "ifort") @@ -104,7 +107,7 @@ endif (Fortran_COMPILER_NAME STREQUAL "ifort") # Add MPI compiler flags #========================================= if(UNRES_WITH_MPI) - set(FFLAGS0 "${FFLAGS0} -I${MPIF_INCLUDE_DIRECTORIES}") + set(FFLAGS0 "${FFLAGS0} -I${MPI_Fortran_INCLUDE_PATH}") endif(UNRES_WITH_MPI) set_property(SOURCE ${UNRES_WHAM_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} ) diff --git a/source/wham/src/initialize_p.F b/source/wham/src/initialize_p.F index 6562302..3184e1f 100644 --- a/source/wham/src/initialize_p.F +++ b/source/wham/src/initialize_p.F @@ -233,12 +233,12 @@ c------------------------------------------------------------------------- & "ECORR6 ","EELLO ","ETURN3 ","ETURN4 ","ETURN6 ", & "EBE bend","ESC SCloc","ETORS ","ETORSD ","EHPB ","EVDWPP ", & "ESTR ","EVDW2_14 ","ESCCOR ", " ","EDIHCNSTR","EHOMOLOGY", - & "DFA DIS","DFA TOR","DFA NEI","DFA BET"/ + & "DFA DIS","DFA TOR","DFA NEI","DFA BET"," "/ data wname / & "WSC","WSCP","WELEC","WCORR","WCORR5","WCORR6","WEL_LOC", & "WTURN3","WTURN4","WTURN6","WANG","WSCLOC","WTOR","WTORD", & "WSTRAIN","WVDWPP","WBOND","SCAL14","WSCCOR"," ","WDIHCNSTR", - & "WHOMOLOGY","WDFAD","WDFAT","WDFAN","WDFAB"/ + & "WHOMOLOGY","WDFAD","WDFAT","WDFAN","WDFAB"," "/ data nprint_ene /24/ data print_order/1,2,3,11,12,13,14,4,5,6,7,8,9,10,19,18,15,17,16, & 21,23,24,25,26,0,0,0/ -- 1.7.9.5