2a4ce693263fe1e2929f7dad4b130c7a821baa2c
[unres.git] / source / xdrfpdb / src-M / CMakeLists.txt
1 # Set of programs to convert UNRES xdrf format (compressed Cartesian coordinates) to PDF
2 # or raw-Cartesian format (*.x) or to extract backbone angular coordinates (*.ang)
3 # The pdb files can be constructed from canonical or MREMD trajectories.
4 #
5 # The xdrf library is required
6 #
7 # Programs
8 #
9 # xdrf2pdb   : converts a single cx trajectory file to PDB format
10 # xdrf2x     : converts a single cx trajectory file to raw-coordinate (x) format
11 # xdrf2ang   : extracts backbone angles from a cx trajectory file
12 # xdrf2pdb-m : converts a selected trajectory of a MREMD run dumpend into a cx file to PDB format
13 #
14 # xdrf2pdb1  : converts conformation(s) selected from a wham post-processing run into PDB format
15 # xdrf2x1    : converts conformation(s) selected from a wham post-processing run into raw (x) format.
16 #
17 # 9/23/2010 A. Liwo
18 #
19 # CMake file by D. Jagie?a
20
21
22 set(UNRES_XDRF_XDRF2PDB_SRC-M
23         xdrf2pdb.F
24         geomout.F
25         misc.f
26         rescode.f
27         nazwy.f
28 )
29
30 set(UNRES_XDRF_XDRF2PDB-M_SRC-M
31         xdrf2pdb-m.F
32         geomout.F
33         misc.f
34         rescode.f
35         nazwy.f
36 )
37
38
39 set(UNRES_XDRF_PP_SRC-M
40         geomout.F
41         xdrf2pdb.F
42         xdrf2pdb-m.F
43         xdrf2x.F        
44 )
45
46 set(CPPFLAGS "PROCOR -DUNRES -DMP -DMPI -DSPLITELE -DNEWUNRES" )
47
48 #=========================================
49 # System specific flags
50 #=========================================
51 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
52   set(CPPFLAGS "${CPPFLAGS} -DLINUX")
53 endif(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
54
55 # Apply preprocesor flags to *.F files
56 set_property(SOURCE ${UNRES_XDRF_PP_SRC-M} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} )
57
58  
59 #=========================================
60 # Build the binaries
61 #=========================================
62 add_executable(UNRES_XDRF2PDB_BIN-M   ${UNRES_XDRF_XDRF2PDB_SRC-M} )
63 target_link_libraries(UNRES_XDRF2PDB_BIN-M xdrf )
64 set_target_properties(UNRES_XDRF2PDB_BIN-M PROPERTIES OUTPUT_NAME xdrf2pdb )
65 set_property(TARGET UNRES_XDRF2PDB_BIN-M PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
66
67 add_executable(UNRES_XDRF2PDBM_BIN-M ${UNRES_XDRF_XDRF2PDB-M_SRC-M} )
68 target_link_libraries( UNRES_XDRF2PDBM_BIN-M xdrf )
69 set_target_properties(UNRES_XDRF2PDBM_BIN-M PROPERTIES OUTPUT_NAME xdrf2pdb-m )
70 set_property(TARGET UNRES_XDRF2PDBM_BIN-M PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
71
72
73 #=========================================
74 # Install Path
75 #=========================================
76 install(TARGETS UNRES_XDRF2PDB_BIN-M DESTINATION ${CMAKE_INSTALL_PREFIX}/xdrfpdb)
77 install(TARGETS UNRES_XDRF2PDBM_BIN-M DESTINATION ${CMAKE_INSTALL_PREFIX}/xdrfpdb)
78
79
80 #=========================================
81 # TESTS
82 #=========================================
83
84
85 # Create files needed for tests
86
87 file(   COPY ${CMAKE_SOURCE_DIR}/ctest/ala10one.seq
88         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
89
90 file(   COPY ${CMAKE_SOURCE_DIR}/ctest/ala10three.seq 
91         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
92
93 file(   COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Yone.seq
94         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
95
96 file(   COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Ythree.seq
97         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
98
99 file(   COPY ${CMAKE_SOURCE_DIR}/ctest/ala10MD.cx 
100         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
101
102 file(   COPY ${CMAKE_SOURCE_DIR}/ctest/1L2Y_MREMD_MD000.cx 
103         DESTINATION ${CMAKE_CURRENT_BINARY_DIR} )
104
105
106 # Test xdrf2pdb 
107 add_test(NAME XDRF2PDB-one   COMMAND ${CMAKE_BINARY_DIR}/bin/xdrf2pdb one ala10one.seq ala10MD.cx )
108 add_test(NAME XDRF2PDB-three COMMAND ${CMAKE_BINARY_DIR}/bin/xdrf2pdb three ala10three.seq ala10MD.cx )
109
110 # Test xdrf2pdb-m
111 add_test(NAME XDRF2PDB-M-one   COMMAND ${CMAKE_BINARY_DIR}/bin/xdrf2pdb-m one 1L2Yone.seq 1L2Y_MREMD_MD000.cx 32 30 )
112 add_test(NAME XDRF2PDB-M-three COMMAND ${CMAKE_BINARY_DIR}/bin/xdrf2pdb-m three 1L2Ythree.seq 1L2Y_MREMD_MD000.cx 32 30 )
113
114 # Test xdrf2ang
115 #add_test(NAME XDRF2ANG-one   COMMAND ${CMAKE_BINARY_DIR}/bin/xdrf2ang one ala10one.seq ala10MD.cx )
116 #add_test(NAME XDRF2ANG-three COMMAND ${CMAKE_BINARY_DIR}/bin/xdrf2ang three ala10three.seq ala10MD.cx )
117
118
119