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