NEWCORR5D working with 15k, work and iwork in random_vel might need testing
[unres4.git] / source / unres / CMakeLists.txt
index 7c7359c..3fa4bc8 100644 (file)
@@ -8,53 +8,60 @@ enable_language (Fortran)
 # 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
 )
 
 
@@ -63,8 +70,10 @@ set(UNRES_MD_SRC3
 #================================================
 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 -CB -g -ip " ) 
+  set(FFLAGS0 "-O3 -g -ip -fpp   -mcmodel=large" ) 
+#  set(FFLAGS0 "-O0 -CB -CA -g" )
   set(FFLAGS1 "-fpp -c -O " ) 
   set(FFLAGS2 "-fpp -c -g -CA -CB ")
   set(FFLAGS3 "-fpp -c -g -O0 " )
@@ -102,6 +111,10 @@ if(UNRES_MD_FF STREQUAL "GAB" )
 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
@@ -110,6 +123,13 @@ elseif(UNRES_MD_FF STREQUAL "4P")
   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} -DFIVEDIAG ")
+set(CPPFLAGS "${CPPFLAGS} -DCARGRAD -DFIVEDIAG -DSC_END")
+endif()
+# set(CPPFLAGS "${CPPFLAGS} -DCARGRAD -DFIVEDIAG ")
+
+
 #=========================================
 # System specific flags
 #=========================================
@@ -130,7 +150,7 @@ elseif (Fortran_COMPILER_NAME STREQUAL "f95")
 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)
@@ -156,22 +176,30 @@ endif (architektura STREQUAL "64")
 #========================================
 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 ++++'
@@ -192,20 +220,20 @@ FILE(APPEND ${CINFO}
        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 )
 
 
 #=========================================
@@ -214,16 +242,16 @@ set_property(TARGET UNRES_BIN-MD PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINAR
 # 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 
@@ -480,6 +508,7 @@ if(NOT UNRES_WITH_MPI)
                   
   if(UNRES_MD_FF STREQUAL "GAB")
     add_test(NAME UNRES_MD_Ala10 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
+    add_test(NAME UNRES_M_CHECKGRAD_homology COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh Ts866_checkgrad_full 2 2 )                                        
   endif(UNRES_MD_FF STREQUAL "GAB")
  
   if(UNRES_MD_FF STREQUAL "E0LL2Y")
@@ -499,6 +528,7 @@ else(NOT UNRES_WITH_MPI)
 
   if(UNRES_MD_FF STREQUAL "GAB")
     add_test(NAME UNRES_MD_MPI_Ala10 COMMAND ${mpiexec} ${boot_lam} ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
+    add_test(NAME UNRES_M_CHECKGRAD1_homology COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh Ts866_checkgrad_full 1 )
   endif(UNRES_MD_FF STREQUAL "GAB")
 
   if(UNRES_MD_FF STREQUAL "E0LL2Y")
@@ -516,4 +546,6 @@ else(NOT UNRES_WITH_MPI)
   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
 
 endif(NOT UNRES_WITH_MPI)
+
+