# Set source file lists for different compilation flags
#================================
set(UNRES_MD_SRC0
- data/names.f90
- data/io_units.f90
- data/calc_data.f90
- data/compare_data.f90
- data/control_data.f90
- data/CSA_data.f90
- data/energy_data.f90
- data/geometry_data.f90
- data/map_data.f90
- data/MCM_data.f90
- data/MD_data.f90
- data/MPI_data.f90
- data/REMD_data.f90
- data/comm_local.f90
- prng_32.f90
- math.f90
- random.f90
- geometry.f90
- io_base.f90
- energy.f90
- check_bond.f90
- control.f90
- MPI.f90
- regularize.f90
- compare.f90
- map.f90
- muca_md.f90
- MCM_MD.f90
- io.f90
- MREMD.f90
- CSA.f90
- unres.f90
- MD.f90
- REMD.f90
+ data/names.F90
+ data/io_units.F90
+ data/calc_data.F90
+ data/compare_data.F90
+ data/control_data.F90
+ data/CSA_data.F90
+ data/energy_data.F90
+ data/geometry_data.F90
+ data/map_data.F90
+ data/MCM_data.F90
+ data/MD_data.F90
+ data/MPI_data.F90
+ data/REMD_data.F90
+ data/comm_local.F90
+ prng_32.F90
+ math.F90
+ random.F90
+ geometry.F90
+ io_base.F90
+ energy.F90
+ check_bond.F90
+ control.F90
+ MPI.F90
+ regularize.F90
+ compare.F90
+ map.F90
+ muca_md.F90
+ MCM_MD.F90
+ io.F90
+ MREMD.F90
+ CSA.F90
+ unres.F90
+ MD.F90
+ REMD.F90
)
+if(UNRES_NEWGRAD)
+ set(UNRES_MD_SRC0 ${UNRES_MD_SRC0}
+ fdisy.F90 fdiag.F90 machpd.F90
+ quindibisectok.F90
+ quindet2ok.F90)
+endif()
+
set(UNRES_MD_SRC1
- data/minim_data.f90
+ data/minim_data.F90
)
set(UNRES_MD_SRC2
- minim.f90
- md_calc.f90
+ minim.F90
+ md_calc.F90
)
set(UNRES_MD_SRC3
- io_config.f90
+ io_config.F90
)
#================================================
if (Fortran_COMPILER_NAME STREQUAL "ifort")
set (CMAKE_Fortran_FLAGS_RELEASE " ")
- set (CMAKE_Fortran_FLAGS_DEBUG "-O0 -g ")
- set(FFLAGS0 "-fpp -c -O3 -ip " )
+ set (CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -traceback")
+# set(FFLAGS0 "-fpp -c -O3 -ip " )
+ set(FFLAGS0 "-O3 -ip -fpp -heap-arrays" )
+# set(FFLAGS0 "-O0 -CB -CA -g" )
set(FFLAGS1 "-fpp -c -O " )
set(FFLAGS2 "-fpp -c -g -CA -CB ")
set(FFLAGS3 "-fpp -c -g -O0 " )
elseif(UNRES_MD_FF STREQUAL "E0LL2Y")
# set preprocesor flags
set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" )
+elseif(UNRES_MD_FF STREQUAL "NEWCORR")
+ # set preprocesor flags
+ set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD" )
+
#=========================================
# Settings for 4P force field
set(CPPFLAGS "UNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB" )
endif(UNRES_MD_FF STREQUAL "GAB")
+if(UNRES_NEWGRAD)
+ set(CPPFLAGS "${CPPFLAGS} -DCARGRAD -DFIVEDIAG ")
+endif()
+
+
#=========================================
# System specific flags
#=========================================
elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
# Add old gfortran flags
set(CPPFLAGS "${CPPFLAGS} -DG77")
-elseif (Fortran_COMPILER_NAME STREQUAL "pgf90")
+elseif (Fortran_COMPILER_NAME STREQUAL "pgF90")
set(CPPFLAGS "${CPPFLAGS} -DPGI")
FILE(COPY ${CMAKE_SOURCE_DIR}/source/isnan_pgi.f DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
list(APPEND UNRES_MD_SRC0 ${CMAKE_CURRENT_BINARY_DIR}/isnan_pgi.f)
#========================================
if(UNRES_WITH_MPI)
# binary with mpi
- set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
+ if(UNRES_NEWGRAD)
+ set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_NEWGRAD.exe")
+ else()
+ set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
+ endif()
else(UNRES_WITH_MPI)
# binary without mpi
- set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}.exe")
+ if(UNRES_NEWGRAD)
+ set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}_NEWGRAD.exe")
+ else()
+ set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}.exe")
+ endif()
endif(UNRES_WITH_MPI)
#=========================================
-# cinfo.f90 workaround for cmake
+# cinfo.F90 workaround for cmake
#=========================================
# get the current date
TODAY(DATE)
-# generate cinfo.f90
+# generate cinfo.F90
-set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90")
+set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.F90")
FILE(WRITE ${CINFO}
-"! CMake generated file cinfo.f90
+"! CMake generated file cinfo.F90
subroutine cinfo
use io_units
write(iout,*)'++++ Compile info ++++'
end ")
# add include path
-set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 PROPERTY COMPILE_FLAGS "${FFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}")
+set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.F90 PROPERTY COMPILE_FLAGS "${FFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}")
#=========================================
# Set full unres MD sources
#=========================================
-set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC1} ${UNRES_MD_SRC2} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 )
+set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC1} ${UNRES_MD_SRC2} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.F90 )
set_property(SOURCE ${UNRES_MD_SRCS} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} )
#=========================================
# Build the binary
#=========================================
-add_executable(UNRES_BIN-MD ${UNRES_MD_SRCS} )
-set_target_properties(UNRES_BIN-MD PROPERTIES OUTPUT_NAME ${UNRES_BIN})
-set_property(TARGET UNRES_BIN-MD PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
+add_executable(UNRES_BIN ${UNRES_MD_SRCS} )
+set_target_properties(UNRES_BIN PROPERTIES OUTPUT_NAME ${UNRES_BIN})
+set_property(TARGET UNRES_BIN PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
#=========================================
# link MPI library (libmpich.a)
if(UNRES_WITH_MPI)
- target_link_libraries( UNRES_BIN-MD ${MPI_Fortran_LIBRARIES} )
+ target_link_libraries( UNRES_BIN ${MPI_Fortran_LIBRARIES} )
endif(UNRES_WITH_MPI)
# link libxdrf.a
#message("UNRES_XDRFLIB=${UNRES_XDRFLIB}")
-target_link_libraries( UNRES_BIN-MD xdrf )
+target_link_libraries( UNRES_BIN xdrf )
#=========================================
# Install Path
#=========================================
-install(TARGETS UNRES_BIN-MD DESTINATION ${CMAKE_INSTALL_PREFIX})
+install(TARGETS UNRES_BIN DESTINATION ${CMAKE_INSTALL_PREFIX})
#=========================================
# TESTS