switched to CMake FindMPI module in all source files that use MPI
[unres.git] / source / cluster / wham / src-M / CMakeLists.txt
index 3c6b882..bb99f2a 100644 (file)
@@ -2,7 +2,7 @@
 # CMake project file for cluster analysis from WHAM for oligomeric proteins  
 # 
 
-enable_language (Fortran)
+enable_language (Fortran C)
 
 #================================
 # Set source file lists
@@ -29,6 +29,7 @@ set(UNRES_CLUSTER_WHAM_M_SRC0
        parmread.F
        permut.f
        pinorm.f
+       printmat.f
        probabl.F
        read_coords.F
        readpdb.f
@@ -54,7 +55,6 @@ set(UNRES_CLUSTER_WHAM_M_PP_SRC
        timing.F
        track.F
        work_partition.F
-       proc_proc.c
 ) 
 
 
@@ -62,20 +62,43 @@ set(UNRES_CLUSTER_WHAM_M_PP_SRC
 # Set comipiler flags for different sourcefiles  
 #================================================
 if (Fortran_COMPILER_NAME STREQUAL "ifort")
-  set(FFLAGS0 "-ip -w -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres " ) 
+  set(FFLAGS0 "-ip -w -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres"  ) 
 elseif (Fortran_COMPILER_NAME STREQUAL "gfortran")
-  set(FFLAGS0 "-I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres " ) 
+  set(FFLAGS0 "-std=legacy -I. -I${CMAKE_CURRENT_SOURCE_DIR}/include_unres" ) 
 endif (Fortran_COMPILER_NAME STREQUAL "ifort")
 
+#=========================================
 # Add MPI compiler flags
+#=========================================
 if(UNRES_WITH_MPI)
-  set(FFLAGS0 "${FFLAGS0} -I${MPIF_INCLUDE_DIRECTORIES}")
+  set(FFLAGS0 "${FFLAGS0} -I${MPI_Fortran_INCLUDE_PATH}")
 endif(UNRES_WITH_MPI)
 
 set_property(SOURCE ${UNRES_CLUSTER_WHAM_M_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} )
 
-set(CPPFLAGS "PROCOR -DSPLITELE -DPROCOR -DCRYST_BOND -DCRYST_THETA -DCRYST_SC" )
+#=========================================
+#  Settings for GAB force field
+#=========================================
+if(UNRES_MD_FF STREQUAL "GAB" )
+   # set preprocesor flags   
+   set(CPPFLAGS "PROCOR  -DSPLITELE -DCRYST_BOND  -DCRYST_THETA -DCRYST_SC  -DSCCORPDB" )
+#=========================================
+#  Settings for E0LL2Y force field
+#=========================================
+elseif(UNRES_MD_FF STREQUAL "E0LL2Y")
+   # set preprocesor flags   
+   set(CPPFLAGS "PROCOR  -DSPLITELE -DSCCORPDB" )
+endif(UNRES_MD_FF STREQUAL "GAB")
 
+#=========================================
+# Additional flags
+#=========================================
+set(CPPFLAGS "${CPPFLAGS} -DUNRES -DISNAN") 
+
+#=========================================
+# Compiler specific flags
+#=========================================
 if (Fortran_COMPILER_NAME STREQUAL "ifort")
   # Add ifort preprocessor flags
   set(CPPFLAGS "${CPPFLAGS} -DPGI") 
@@ -108,6 +131,7 @@ endif(UNRES_WITH_MPI)
 #=========================================
 set_property(SOURCE ${UNRES_CLUSTER_WHAM_M_PP_SRC} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} )  
 
+set_property(SOURCE proc_proc.c PROPERTY COMPILE_DEFINITIONS "LINUX -DPGI" )
 
 #========================================
 #  Setting binary name
@@ -133,7 +157,7 @@ set(UNRES_CLUSTER_WHAM_M_BIN "unres_clustMD.exe")
 #=========================================
 # Set full unres CLUSTER sources
 #=========================================
-set(UNRES_CLUSTER_WHAM_M_SRCS ${UNRES_CLUSTER_WHAM_M_SRC0} ${CMAKE_CURRENT_SOURCE_DIR}/proc_proc.c)
+set(UNRES_CLUSTER_WHAM_M_SRCS ${UNRES_CLUSTER_WHAM_M_SRC0} proc_proc.c)
 
 #=========================================
 # Build the binary
@@ -144,9 +168,9 @@ set_target_properties(UNRES_CLUSTER_WHAM_M_BIN PROPERTIES OUTPUT_NAME ${UNRES_CL
 #=========================================
 # Link libraries
 #=========================================
-# link MPI library (libmpich.a)  
+# link MPI libraries
 if(UNRES_WITH_MPI)
-  target_link_libraries( UNRES_CLUSTER_WHAM_M_BIN ${MPIF_LIBRARIES} )
+  target_link_libraries( UNRES_CLUSTER_WHAM_M_BIN ${MPI_Fortran_LIBRARIES} )
 endif(UNRES_WITH_MPI)
 # link libxdrf.a 
 target_link_libraries( UNRES_CLUSTER_WHAM_M_BIN xdrf )