- added UNRES Multichain examples
[unres.git] / source / unres / src_MIN / CMakeLists.txt
1 #
2 # CMake project file for UNRES with Minimazation 
3
4
5 enable_language (Fortran)
6
7 #================================
8 # Set source file lists
9 #================================
10 set(UNRES_MIN_SRC0 
11         arcos.f
12         cartder.F 
13         cartprint.f 
14         chainbuild.F 
15         checkder_p.F 
16         convert.f 
17         econstr_local.F
18         initialize_p.F 
19         intcartderiv.F
20         intcor.f 
21         intlocal.f 
22         int_to_cart.f 
23         matmult.f 
24         minimize_p.F
25         misc.f 
26         MP.F 
27         parmread.F 
28         pinorm.f 
29         printmat.f 
30         randgens.f 
31         rescode.f 
32         rmdd.f 
33         sumsld.f 
34         timing.F
35         unres_min.F
36
37 )
38
39 set(UNRES_MIN_SRC1 
40         cored.f
41 )
42
43 set(UNRES_MIN_SRC2 
44         readpdb.F
45 )
46
47 set(UNRES_MIN_SRC3 
48         energy_p_new_barrier.F
49         gradient_p.F
50 )
51
52 set(UNRES_MIN_PP_SRC
53         bank.F 
54         cartder.F 
55         chainbuild.F 
56         checkder_p.F 
57         compare_s1.F
58         cored.f
59         csa.f 
60         dihed_cons.F
61         diff12.f 
62         econstr_local.F
63         energy_p_new.F
64         energy_p_new_barrier.F 
65         energy_split-sep.F 
66         entmcm.F 
67         gen_rand_conf.F
68         geomout.F 
69         gradient_p.F 
70         intcor.f
71         initialize_p.F 
72         intcartderiv.F 
73         lagrangian_lesyng.F 
74         matmult.f
75         mc.F 
76         mcm.F 
77         MD_A-MTS.F
78         minimize_p.F 
79         minim_jlee.F
80         minim_mcmf.F 
81         MP.F 
82         MREMD.F
83         newconf.f 
84         parmread.F 
85         permut.F
86         prng_32.F 
87         q_measure1.F 
88         q_measure3.F 
89         q_measure.F
90         ran.f
91         rattle.F 
92         readpdb.F 
93         readrtns_CSA.F 
94         regularize.F
95         rmdd.f 
96         rmsd.F 
97         sc_move.F
98         shift.F 
99         stochfric.F
100         sumsld.f 
101         test.F 
102         thread.F 
103         timing.F
104         together.F
105         unres.F 
106
107
108
109 #================================================
110 # Set comipiler flags for different sourcefiles  
111 #================================================
112 if (Fortran_COMPILER_NAME STREQUAL "ifort")
113   set(FFLAGS0 "-ip -w" ) 
114   set(FFLAGS1 "-w -g -d2 -CA -CB" ) 
115   set(FFLAGS2 "-w -g -00 ")
116   #set(FFLAGS3 "-c -w -O3 -ipo -ipo_obj -opt_report" )
117   set(FFLAGS3 "-w -ipo " )
118 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
119   set(FFLAGS0 " " ) 
120   set(FFLAGS1 "-g " ) 
121   set(FFLAGS2 " ")
122   #set(FFLAGS3 "-c -w -O3 -ipo -ipo_obj -opt_report" )
123   set(FFLAGS3 "-O3" )
124 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
125
126
127 set_property(SOURCE ${UNRES_MIN_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} )
128 set_property(SOURCE ${UNRES_MIN_SRC1} PROPERTY COMPILE_FLAGS ${FFLAGS1} )
129 set_property(SOURCE ${UNRES_MIN_SRC2} PROPERTY COMPILE_FLAGS ${FFLAGS2} )
130 set_property(SOURCE ${UNRES_MIM_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} )
131
132 # set preprocesor flags   
133 set(CPPFLAGS "PROCOR -DLINUX -DISNAN -DSPLITELE -DLANG0" )
134
135 if (Fortran_COMPILER_NAME STREQUAL "ifort")
136   # Add ifort preprocessor flags
137   set(CPPFLAGS "${CPPFLAGS} -DPGI") 
138 elseif (Fortran_COMPILER_NAME STREQUAL "f95")
139   # Add gfortran flags
140   set(CPPFLAGS "${CPPFLAGS} -DG77") 
141 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
142   # Add gfortran flags
143   set(CPPFLAGS "${CPPFLAGS} -DG77") 
144 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
145
146
147 # add 64-bit specific preprocessor flags
148 if (architektura STREQUAL "64")
149   set(CPPFLAGS "${CPPFLAGS} -DAMD64")
150 endif (architektura STREQUAL "64")
151
152 # Apply preprocesor flags to *.F files
153 set_property(SOURCE ${UNRES_MIN_PP_SRC} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} )  
154
155
156
157 #========================================
158 #  Setting binary name
159 #========================================
160 set(UNRES_BIN "unres_min_${Fortran_COMPILER_NAME}.exe")
161
162 #set(UNRES_CINFO_DIR "${CMAKE_CURRENT_BINARY_DIR}" )
163
164 #=========================================
165 # Set full unres MIN sources
166 #=========================================
167 set(UNRES_MIN_SRCS ${UNRES_MIN_SRC0} ${UNRES_MIN_SRC3} cinfo.f )
168
169 #=========================================
170 # Build the binary
171 #=========================================
172 add_executable(UNRES_BIN-MIN ${UNRES_MIN_SRCS} )
173 set_target_properties(UNRES_BIN-MIN PROPERTIES OUTPUT_NAME ${UNRES_BIN})
174
175 #set_property(TARGET ${UNRES_BIN} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin/unres/MD )
176
177 #=========================================
178 # TESTS 
179 #=========================================
180
181 #-- Copy all the data files from the test directory into the source directory
182 #SET(UNRES_TEST_FILES
183 #       ala10.inp
184 #    )
185
186 #FOREACH (UNRES_TEST_FILE ${UNRES_TEST_FILES})
187 #      SET (unres_test_dest "${CMAKE_CURRENT_BINARY_DIR}/${UNRES_TEST_FILE}")
188 #      MESSAGE (STATUS " Copying ${UNRES_TEST_FILE} from ${CMAKE_SOURCE_DIR}/examples/unres/MD/ff_gab/${UNRES_TEST_FILE} to ${unres_test_dest}")
189 #      ADD_CUSTOM_COMMAND (
190 #          TARGET     ${UNRES_BIN}
191 #          POST_BUILD
192 #          COMMAND    ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/examples/unres/MD/ff_gab/${UNRES_TEST_FILE} ${unres_test_dest}
193 #      )
194 #ENDFOREACH (UNRES_TEST_FILE ${UNRES_TEST_FILES})
195
196 #=========================================
197 # Generate data test files
198 #=========================================
199
200 #if(NOT UNRES_WITH_MPI)
201
202 #  add_test(NAME UNRES_MD_Ala10 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh )
203
204 #endif(NOT UNRES_WITH_MPI)
205