2a48eda085b7740bb77e8a53feab82a40026d57d
[unres4.git] / source / unres / CMakeLists.txt
1 #
2 # CMake project file for UNRES 
3
4
5 enable_language (Fortran)
6
7 #================================
8 # Set source file lists for different compilation flags
9 #================================
10 set(UNRES_MD_SRC0 
11          data/names.f90
12          data/io_units.f90
13          data/calc_data.f90
14          data/compare_data.f90
15          data/control_data.f90
16          data/CSA_data.f90
17          data/energy_data.f90
18          data/geometry_data.f90
19          data/map_data.f90
20          data/MCM_data.f90
21          data/MD_data.f90
22          data/MPI_data.f90
23          data/REMD_data.f90
24          data/comm_local.f90
25          prng_32.f90
26          math.f90
27          random.f90
28          geometry.f90
29          io_base.f90
30          energy.f90
31          check_bond.f90
32          control.F90
33          MPI.f90
34          regularize.f90
35          compare.F90
36          map.f90
37          muca_md.f90
38          MCM_MD.f90
39          io.f90
40          MREMD.f90
41          CSA.f90
42          unres.f90
43          MD.f90
44          REMD.f90
45 )
46
47 if(UNRES_NEWGRAD)
48  set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} 
49        fdisy.f90 fdiag.f90 machpd.f90 
50        quindibisectok.F90
51        quindet2ok.F90)
52 endif()
53
54 set(UNRES_MD_SRC1
55         data/minim_data.f90 
56 )
57
58 set(UNRES_MD_SRC2
59         minim.f90
60         md_calc.f90 
61 )
62
63 set(UNRES_MD_SRC3 
64         io_config.f90
65 )
66
67
68 #================================================
69 # Set compiler flags for different sourcefiles  
70 #================================================
71 if (Fortran_COMPILER_NAME STREQUAL "ifort")
72   set (CMAKE_Fortran_FLAGS_RELEASE " ")
73   set (CMAKE_Fortran_FLAGS_DEBUG   "-O0 -g ")
74   set(FFLAGS0 "-fpp -c -O3 -ip " ) 
75   set(FFLAGS1 "-fpp -c -O " ) 
76   set(FFLAGS2 "-fpp -c -g -CA -CB ")
77   set(FFLAGS3 "-fpp -c -g -O0 " )
78 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
79   set(FFLAGS0 "-std=legacy -I. " ) 
80   set(FFLAGS1 "-std=legacy -g -I. " ) 
81   set(FFLAGS2 "-std=legacy -I. ")
82   set(FFLAGS3 "-std=legacy -I. " )
83 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
84
85
86 # Add MPI compiler flags
87 if(UNRES_WITH_MPI)
88   set(FFLAGS0 "${FFLAGS0} -I${MPI_Fortran_INCLUDE_PATH}")
89   set(FFLAGS1 "${FFLAGS1} -I${MPI_Fortran_INCLUDE_PATH}")
90   set(FFLAGS2 "${FFLAGS2} -I${MPI_Fortran_INCLUDE_PATH}")
91   set(FFLAGS3 "${FFLAGS3} -I${MPI_Fortran_INCLUDE_PATH}")
92 endif(UNRES_WITH_MPI)
93
94 set_property(SOURCE ${UNRES_MD_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} )
95 set_property(SOURCE ${UNRES_MD_SRC1} PROPERTY COMPILE_FLAGS ${FFLAGS1} )
96 set_property(SOURCE ${UNRES_MD_SRC2} PROPERTY COMPILE_FLAGS ${FFLAGS2} )
97 set_property(SOURCE ${UNRES_MD_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} )
98
99 #=========================================
100 # Settings for GAB force field 
101 #=========================================
102 if(UNRES_MD_FF STREQUAL "GAB" )
103   # set preprocesor flags   
104   set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC")
105
106 #=========================================
107 #  Settings for E0LL2Y force field
108 #=========================================
109 elseif(UNRES_MD_FF STREQUAL "E0LL2Y")
110   # set preprocesor flags   
111   set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" )
112
113 #=========================================
114 #  Settings for 4P force field
115 #=========================================
116 elseif(UNRES_MD_FF STREQUAL "4P")
117   set(CPPFLAGS "UNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB" )
118 endif(UNRES_MD_FF STREQUAL "GAB")
119
120 if(UNRES_NEWGRAD)
121  set(CPPFLAGS "${CPPFLAGS} -DCARGRAD -DFIVEDIAG ")
122 endif()
123
124
125 #=========================================
126 # System specific flags
127 #=========================================
128 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
129   set(CPPFLAGS "${CPPFLAGS} -DLINUX") 
130 endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
131
132 #=========================================
133 # Compiler specific flags
134 #=========================================
135
136 if (Fortran_COMPILER_NAME STREQUAL "ifort")
137   # Add ifort preprocessor flags
138   set(CPPFLAGS "${CPPFLAGS} -DPGI") 
139 elseif (Fortran_COMPILER_NAME STREQUAL "f95")
140   # Add new gfortran flags
141   set(CPPFLAGS "${CPPFLAGS} -DG77") 
142 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
143   # Add old gfortran flags
144   set(CPPFLAGS "${CPPFLAGS} -DG77")
145 elseif (Fortran_COMPILER_NAME STREQUAL "pgf90")
146   set(CPPFLAGS "${CPPFLAGS} -DPGI")
147   FILE(COPY ${CMAKE_SOURCE_DIR}/source/isnan_pgi.f DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
148   list(APPEND UNRES_MD_SRC0 ${CMAKE_CURRENT_BINARY_DIR}/isnan_pgi.f)
149 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
150
151 #=========================================
152 # Add MPI preprocessor flags
153 #=========================================
154 if (UNRES_WITH_MPI)
155   set(CPPFLAGS "${CPPFLAGS} -DMP -DMPI") 
156 endif(UNRES_WITH_MPI)
157
158 #=========================================
159 # Add 64-bit specific preprocessor flags
160 #=========================================
161 if (architektura STREQUAL "64")
162   set(CPPFLAGS "${CPPFLAGS} -DAMD64")
163 endif (architektura STREQUAL "64")
164
165
166 #========================================
167 #  Setting binary name
168 #========================================
169 if(UNRES_WITH_MPI) 
170   # binary with mpi
171   if(UNRES_NEWGRAD)
172    set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_NEWGRAD.exe")
173   else()
174    set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe")
175   endif()
176 else(UNRES_WITH_MPI)
177   # binary without mpi
178   if(UNRES_NEWGRAD)
179    set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}_NEWGRAD.exe")
180   else()
181    set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}.exe")
182   endif()
183 endif(UNRES_WITH_MPI)  
184
185 #=========================================
186 # cinfo.f90 workaround for cmake
187 #=========================================
188 # get the current date  
189 TODAY(DATE)
190 # generate cinfo.f90
191
192 set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90")
193 FILE(WRITE ${CINFO}
194 "! CMake generated file cinfo.f90
195        subroutine cinfo
196        use io_units
197        write(iout,*)'++++ Compile info ++++'
198        write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}'
199 ")
200
201 CINFO_FORMAT(${CINFO} "Compiled" "${DATE}" )
202 CINFO_FORMAT(${CINFO} "Compiled by" "$ENV{USER}@$ENV{HOST}" )
203 CINFO_FORMAT(${CINFO} "OS name:" "${CMAKE_SYSTEM_NAME}" )
204 CINFO_FORMAT(${CINFO} "OS release:" "${CMAKE_SYSTEM}" )
205 CINFO_FORMAT(${CINFO} "Fortran Compiler:" "${CMAKE_Fortran_COMPILER}" )
206 CINFO_FORMAT(${CINFO} "MD Force field:" "${UNRES_MD_FF}" )
207 CINFO_FORMAT(${CINFO} "CPPFLAGS =" "${CPPFLAGS}")
208
209 FILE(APPEND ${CINFO} 
210 "       write(iout,*)'++++ End of compile info ++++'  
211        return 
212        end ")
213
214 # add include path
215 set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 PROPERTY COMPILE_FLAGS "${FFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}")
216
217 #=========================================
218 # Set full unres MD sources
219 #=========================================
220 set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC1} ${UNRES_MD_SRC2} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 )
221 set_property(SOURCE ${UNRES_MD_SRCS} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} )
222
223 #=========================================
224 # Build the binary
225 #=========================================
226 add_executable(UNRES_BIN ${UNRES_MD_SRCS} )
227 set_target_properties(UNRES_BIN PROPERTIES OUTPUT_NAME ${UNRES_BIN})
228 set_property(TARGET UNRES_BIN PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
229
230
231 #=========================================
232 # Link libraries
233 #=========================================
234 # link MPI library (libmpich.a)  
235
236 if(UNRES_WITH_MPI)
237   target_link_libraries( UNRES_BIN ${MPI_Fortran_LIBRARIES} )
238 endif(UNRES_WITH_MPI)
239 # link libxdrf.a 
240 #message("UNRES_XDRFLIB=${UNRES_XDRFLIB}")
241 target_link_libraries( UNRES_BIN xdrf )
242
243 #=========================================
244 # Install Path
245 #=========================================
246 install(TARGETS UNRES_BIN DESTINATION ${CMAKE_INSTALL_PREFIX}) 
247
248 #=========================================
249 # TESTS 
250 #=========================================
251
252 #-- Copy all the data files from the test directory into the source directory
253 #SET(UNRES_TEST_FILES
254 #       ala10.inp
255 #    )
256
257 #FOREACH (UNRES_TEST_FILE ${UNRES_TEST_FILES})
258 #      SET (unres_test_dest "${CMAKE_CURRENT_BINARY_DIR}/${UNRES_TEST_FILE}")
259 #      MESSAGE (STATUS " Copying ${UNRES_TEST_FILE} from ${CMAKE_SOURCE_DIR}/examples/unres/MD/ff_gab/${UNRES_TEST_FILE} to ${unres_test_dest}")
260 #      ADD_CUSTOM_COMMAND (
261 #          TARGET     ${UNRES_BIN}
262 #          POST_BUILD
263 #          COMMAND    ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/examples/unres/MD/ff_gab/${UNRES_TEST_FILE} ${unres_test_dest}
264 #      )
265 #ENDFOREACH (UNRES_TEST_FILE ${UNRES_TEST_FILES})
266
267 #=========================================
268 # Generate data test files
269 #=========================================
270 #  test_single_ala.sh
271 #=========================================
272
273 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh
274 "#!/bin/sh
275 export POT=GB
276 export PREFIX=ala10
277 #-----------------------------------------------------------------------------
278 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
279 #-----------------------------------------------------------------------------
280 DD=${CMAKE_SOURCE_DIR}/PARAM
281 export BONDPAR=$DD/bond.parm
282 export THETPAR=$DD/thetaml.5parm
283 export ROTPAR=$DD/scgauss.parm
284 export TORPAR=$DD/torsion_631Gdp.parm
285 export TORDPAR=$DD/torsion_double_631Gdp.parm
286 export ELEPAR=$DD/electr_631Gdp.parm
287 export SIDEPAR=$DD/sc_GB_opt.1gab_3S_qclass5no310-shan2-sc-16-10-8k
288 export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3
289 export SCPPAR=$DD/scp.parm
290 export SCCORPAR=$DD/sccor_pdb_shelly.dat
291 export PATTERN=$DD/patterns.cart
292 #-----------------------------------------------------------------------------
293 $UNRES_BIN
294 ")
295
296 #
297 # File permissions workaround
298 #
299 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_single_ala.sh 
300         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
301         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
302 )
303
304
305
306 #=========================================
307 #  ala10.inp
308 #=========================================
309
310 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/ala10.inp
311 "ala10 unblocked
312 SEED=-1111333 MD ONE_LETTER rescale_mode=2 
313 nstep=15000 ntwe=100 ntwx=1000 dt=0.1 lang=0 tbf t_bath=300 damax=1.0          &
314 reset_moment=1000 reset_vel=1000
315 WLONG=1.35279 WSCP=1.59304 WELEC=0.71534 WBOND=1.00000 WANG=1.13873            &
316 WSCLOC=0.16258 WTOR=1.98599 WTORD=1.57069 WCORRH=0.42887 WCORR5=0.00000        &
317 WCORR6=0.00000 WEL_LOC=0.16036 WTURN3=1.68722 WTURN4=0.66230 WTURN6=0.00000    &
318 WVDWPP=0.11371 WHPB=1.00000                                                    &
319 CUTOFF=7.00000 WCORR4=0.00000
320 12
321 XAAAAAAAAAAX 
322  0
323  0
324    90.0000   90.0000   90.0000  90.000   90.000   90.000   90.000   90.000 
325    90.0000   90.0000
326   180.0000  180.0000  180.0000 180.000  180.000  180.000  180.000  180.000
327   180.0000
328   110.0000  110.0000  110.0000 100.000  110.000  100.000  110.000  110.000 
329   110.0000  110.0000
330  -120.0000 -120.0000 -120.000 -120.000 -120.000 -120.000 -120.000 -120.000
331  -120.0000 -120.0000
332 ")
333
334 if(UNRES_MD_FF STREQUAL "E0LL2Y")
335
336 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota.pdb
337         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
338
339 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres.pdb
340         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
341
342 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_ENE.inp
343         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
344
345 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_MIN_CART.inp
346         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
347
348 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_micro.inp
349         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
350
351 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_MIN_INT.inp
352         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
353
354 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1l2y_MIN_REGULAR_INT.inp
355         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
356
357 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_B.inp
358         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
359
360 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_L.inp
361         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
362
363 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_NH.inp
364         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
365
366
367 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y.pdb
368         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
369
370 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_remd.inp
371         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
372
373 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0_min.inp
374         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
375
376 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/1ei0.pdb
377         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
378
379 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/prota_unres_energy_check.sh
380         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
381         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
382 )
383
384 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_fit_hist.py
385         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
386         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
387 )
388
389 FILE(COPY ${CMAKE_SOURCE_DIR}/ctest/matplotlib_hist.py
390         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} 
391         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
392 )
393
394
395
396 #=========================================
397 #  test_prota_E0LL2Y.sh
398 #=========================================
399
400 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh
401 "#!/bin/sh
402 export POT=GB
403 export FGPROCS=$2
404 export PREFIX=$1
405 #-----------------------------------------------------------------------------
406 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
407 #-----------------------------------------------------------------------------
408 DD=${CMAKE_SOURCE_DIR}/PARAM
409 export BONDPAR=$DD/bond_AM1.parm
410 export THETPAR=$DD/theta_abinitio.parm
411 export ROTPAR=$DD/rotamers_AM1_aura.10022007.parm
412 export TORPAR=$DD/torsion_631Gdp.parm
413 export TORDPAR=$DD/torsion_double_631Gdp.parm
414 export ELEPAR=$DD/electr_631Gdp.parm
415 export SIDEPAR=$DD/scinter_$POT.parm
416 export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3
417 export SCPPAR=$DD/scp.parm
418 export SCCORPAR=$DD/sccor_am1_pawel.dat
419 export THETPARPDB=$DD/thetaml.5parm
420 export ROTPARPDB=$DD/scgauss.parm
421 export PATTERN=$DD/patterns.cart
422 #-----------------------------------------------------------------------------
423 echo CTEST_FULL_OUTPUT
424 $UNRES_BIN
425 ./prota_unres_energy_check.sh $1 ${UNRES_BIN}
426 ")
427
428 #
429 # File permissions workaround
430 #
431 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_prota_E0LL2Y.sh 
432         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
433         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
434 )
435
436 #  MESSAGE (STATUS "${MPI_Fortran_LIBRARIES}")
437   if ("${MPI_Fortran_LIBRARIES}"  MATCHES "lam")
438      MESSAGE (STATUS "LAM MPI library detected")
439      set (boot_lam "-boot")
440   else()
441      set (boot_lam "")
442   endif()
443
444   if (UNRES_SRUN)
445    set (np "-n")
446    set (mpiexec "srun")
447   elseif(UNRES_MPIRUN)
448    set (np "-np")
449    set (mpiexec "mpirun")
450   else()
451    set (np "-np")
452    set (mpiexec "mpiexec")
453   endif()
454           
455
456 FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh
457 "#!/bin/sh
458 export POT=GB
459 export FGPROCS=$2
460 export PREFIX=$1
461 #-----------------------------------------------------------------------------
462 UNRES_BIN=${CMAKE_BINARY_DIR}/bin/${UNRES_BIN}
463 #-----------------------------------------------------------------------------
464 DD=${CMAKE_SOURCE_DIR}/PARAM
465 export BONDPAR=$DD/bond_AM1.parm
466 export THETPAR=$DD/theta_abinitio.parm
467 export ROTPAR=$DD/rotamers_AM1_aura.10022007.parm
468 export TORPAR=$DD/torsion_631Gdp.parm
469 export TORDPAR=$DD/torsion_double_631Gdp.parm
470 export ELEPAR=$DD/electr_631Gdp.parm
471 export SIDEPAR=$DD/scinter_$POT.parm
472 export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3
473 export SCPPAR=$DD/scp.parm
474 export SCCORPAR=$DD/sccor_am1_pawel.dat
475 export THETPARPDB=$DD/thetaml.5parm
476 export ROTPARPDB=$DD/scgauss.parm
477 export PATTERN=$DD/patterns.cart
478 #-----------------------------------------------------------------------------
479 echo CTEST_FULL_OUTPUT
480 ${mpiexec} ${boot_lam} ${np} $3 $UNRES_BIN | grep -v traj1file
481 ./prota_unres_energy_check.sh $1 ${UNRES_BIN}
482 ")
483
484 #
485 # File permissions workaround
486 #
487 FILE(   COPY ${CMAKE_CURRENT_BINARY_DIR}/scripts/test_mpi_E0LL2Y.sh 
488         DESTINATION ${CMAKE_CURRENT_BINARY_DIR}
489         FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE
490 )
491
492
493 endif(UNRES_MD_FF STREQUAL "E0LL2Y")
494
495
496
497 # Add tests
498
499 if(NOT UNRES_WITH_MPI)
500                   
501   if(UNRES_MD_FF STREQUAL "GAB")
502     add_test(NAME UNRES_MD_Ala10 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
503   endif(UNRES_MD_FF STREQUAL "GAB")
504  
505   if(UNRES_MD_FF STREQUAL "E0LL2Y")
506     add_test(NAME UNRES_ENE_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE 1 )
507     add_test(NAME UNRES_MIN_prota COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 1 )
508     add_test(NAME UNRES_MIN_INT COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
509     add_test(NAME UNRES_REGULAR COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
510     add_test(NAME UNRES_MD_microcanonical COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_micro 1 )
511     add_test(NAME UNRES_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_L 1 )
512     add_test(NAME UNRES_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_NH 1 )
513     add_test(NAME UNRES_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1L2Y_B 1 )
514     add_test(NAME UNRES_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1ei0_min 1 )
515   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
516
517 else(NOT UNRES_WITH_MPI)
518
519
520   if(UNRES_MD_FF STREQUAL "GAB")
521     add_test(NAME UNRES_MD_MPI_Ala10 COMMAND ${mpiexec} ${boot_lam} ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
522   endif(UNRES_MD_FF STREQUAL "GAB")
523
524   if(UNRES_MD_FF STREQUAL "E0LL2Y")
525     add_test(NAME UNRES_ENE_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE 2 )
526     add_test(NAME UNRES_ENE1_prota COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_ENE 1 )
527     add_test(NAME UNRES_MIN_prota COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh prota_MIN_CART 2 )
528     add_test(NAME UNRES_MIN_INT COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_INT 1 )
529     add_test(NAME UNRES_REGULAR COMMAND ${mpiexec} ${boot_lam} ${np} 1 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_MIN_REGULAR_INT 1 )
530     add_test(NAME UNRES_MD_microcanonical COMMAND ${mpiexec} ${boot_lam} ${np} 2 ${CMAKE_CURRENT_BINARY_DIR}/test_prota_E0LL2Y.sh 1l2y_micro 2 )
531     add_test(NAME UNRES_Langevin COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_L 2 2 )
532     add_test(NAME UNRES_NoseHoover COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_NH 2 2 )
533     add_test(NAME UNRES_Berendsen COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_B 2 2 )
534     add_test(NAME UNRES_remd COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1L2Y_remd 1 8 )
535     add_test(NAME UNRES_ss_static_min COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh 1ei0_min 1 2 )
536   endif(UNRES_MD_FF STREQUAL "E0LL2Y")
537
538 endif(NOT UNRES_WITH_MPI)
539