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