X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2FCMakeLists.txt;h=d9be5ea7579a9b294eb1feee8b1ef18b8f869f1e;hb=08b96e38d3e1534b82b14c0a8c7948e490c6cebb;hp=7c7359c1f99393fcbf6381b23b6ebf883e0aa34f;hpb=513f5fb9e31afc4a12d8ae2d113f7677ef057892;p=unres4.git diff --git a/source/unres/CMakeLists.txt b/source/unres/CMakeLists.txt index 7c7359c..d9be5ea 100644 --- a/source/unres/CMakeLists.txt +++ b/source/unres/CMakeLists.txt @@ -8,53 +8,70 @@ enable_language (Fortran) # Set source file lists for different compilation flags #================================ set(UNRES_MD_SRC0 - data/names.f90 - data/io_units.f90 - data/calc_data.f90 - data/compare_data.f90 - data/control_data.f90 - data/CSA_data.f90 - data/energy_data.f90 - data/geometry_data.f90 - data/map_data.f90 - data/MCM_data.f90 - data/MD_data.f90 - data/MPI_data.f90 - data/REMD_data.f90 - data/comm_local.f90 - prng_32.f90 - math.f90 - random.f90 - geometry.f90 - io_base.f90 - energy.f90 - check_bond.f90 - control.f90 - MPI.f90 - regularize.f90 - compare.f90 - map.f90 - muca_md.f90 - MCM_MD.f90 - io.f90 - MREMD.f90 - CSA.f90 - unres.f90 - MD.f90 - REMD.f90 + data/names.F90 + data/io_units.F90 + data/calc_data.F90 + data/compare_data.F90 + data/control_data.F90 + data/CSA_data.F90 + data/energy_data.F90 + data/geometry_data.F90 + data/map_data.F90 + data/MCM_data.F90 + data/MD_data.F90 + data/MPI_data.F90 + data/REMD_data.F90 + data/comm_local.F90 + inform.F90 + keys.F90 + math2.F90 + iounit.F90 + linmin.F90 + minima.F90 + output.F90 + scales.F90 + search.F90 + optsave_dum.F90 + prng_32.F90 + math.F90 + random.F90 + geometry.F90 + io_base.F90 + energy.F90 + check_bond.F90 + control.F90 + MPI.F90 + regularize.F90 + compare.F90 + map.F90 + muca_md.F90 + MCM_MD.F90 + io.F90 + MREMD.F90 + CSA.F90 + unres.F90 + MD.F90 + REMD.F90 ) +if(UNRES_NEWGRAD) + set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} + fdisy.F90 fdiag.F90 machpd.F90 + quindibisectok.F90 + quindet2ok.F90) +endif() + set(UNRES_MD_SRC1 - data/minim_data.f90 + data/minim_data.F90 ) set(UNRES_MD_SRC2 - minim.f90 - md_calc.f90 + minim.F90 + md_calc.F90 ) set(UNRES_MD_SRC3 - io_config.f90 + io_config.F90 ) @@ -63,8 +80,10 @@ set(UNRES_MD_SRC3 #================================================ if (Fortran_COMPILER_NAME STREQUAL "ifort") set (CMAKE_Fortran_FLAGS_RELEASE " ") - set (CMAKE_Fortran_FLAGS_DEBUG "-O0 -g ") - set(FFLAGS0 "-fpp -c -O3 -ip " ) + set (CMAKE_Fortran_FLAGS_DEBUG "-O0 -g -traceback") +# set(FFLAGS0 "-fpp -c -CB -g -ip " ) + set(FFLAGS0 "-CB -g -ip -fpp -mcmodel=large" ) +# set(FFLAGS0 "-O0 -CB -CA -g" ) set(FFLAGS1 "-fpp -c -O " ) set(FFLAGS2 "-fpp -c -g -CA -CB ") set(FFLAGS3 "-fpp -c -g -O0 " ) @@ -102,6 +121,10 @@ if(UNRES_MD_FF STREQUAL "GAB" ) elseif(UNRES_MD_FF STREQUAL "E0LL2Y") # set preprocesor flags set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" ) +elseif(UNRES_MD_FF STREQUAL "NEWCORR") + # set preprocesor flags + set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DNEWCORR -DCORRCD" ) + #========================================= # Settings for 4P force field @@ -110,6 +133,13 @@ elseif(UNRES_MD_FF STREQUAL "4P") set(CPPFLAGS "UNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB" ) endif(UNRES_MD_FF STREQUAL "GAB") +if(UNRES_NEWGRAD) +# set(CPPFLAGS "${CPPFLAGS} -DFIVEDIAG ") +set(CPPFLAGS "${CPPFLAGS} -DCARGRAD -DFIVEDIAG -DSC_END -DLBFGS") +endif() +# set(CPPFLAGS "${CPPFLAGS} -DCARGRAD -DFIVEDIAG ") + + #========================================= # System specific flags #========================================= @@ -130,7 +160,7 @@ elseif (Fortran_COMPILER_NAME STREQUAL "f95") elseif (Fortran_COMPILER_NAME STREQUAL "gfortran") # Add old gfortran flags set(CPPFLAGS "${CPPFLAGS} -DG77") -elseif (Fortran_COMPILER_NAME STREQUAL "pgf90") +elseif (Fortran_COMPILER_NAME STREQUAL "pgF90") set(CPPFLAGS "${CPPFLAGS} -DPGI") FILE(COPY ${CMAKE_SOURCE_DIR}/source/isnan_pgi.f DESTINATION ${CMAKE_CURRENT_BINARY_DIR} ) list(APPEND UNRES_MD_SRC0 ${CMAKE_CURRENT_BINARY_DIR}/isnan_pgi.f) @@ -156,22 +186,30 @@ endif (architektura STREQUAL "64") #======================================== if(UNRES_WITH_MPI) # binary with mpi - set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe") + if(UNRES_NEWGRAD) + set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}_NEWGRAD.exe") + else() + set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_MPI_${UNRES_MD_FF}.exe") + endif() else(UNRES_WITH_MPI) # binary without mpi - set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}.exe") + if(UNRES_NEWGRAD) + set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}_NEWGRAD.exe") + else() + set(UNRES_BIN "unresMD_${Fortran_COMPILER_NAME}_single_${UNRES_MD_FF}.exe") + endif() endif(UNRES_WITH_MPI) #========================================= -# cinfo.f90 workaround for cmake +# cinfo.F90 workaround for cmake #========================================= # get the current date TODAY(DATE) -# generate cinfo.f90 +# generate cinfo.F90 -set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90") +set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.F90") FILE(WRITE ${CINFO} -"! CMake generated file cinfo.f90 +"! CMake generated file cinfo.F90 subroutine cinfo use io_units write(iout,*)'++++ Compile info ++++' @@ -192,20 +230,20 @@ FILE(APPEND ${CINFO} end ") # add include path -set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 PROPERTY COMPILE_FLAGS "${FFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}") +set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.F90 PROPERTY COMPILE_FLAGS "${FFLAGS} -I${CMAKE_CURRENT_SOURCE_DIR}") #========================================= # Set full unres MD sources #========================================= -set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC1} ${UNRES_MD_SRC2} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f90 ) +set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC1} ${UNRES_MD_SRC2} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.F90 ) set_property(SOURCE ${UNRES_MD_SRCS} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} ) #========================================= # Build the binary #========================================= -add_executable(UNRES_BIN-MD ${UNRES_MD_SRCS} ) -set_target_properties(UNRES_BIN-MD PROPERTIES OUTPUT_NAME ${UNRES_BIN}) -set_property(TARGET UNRES_BIN-MD PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) +add_executable(UNRES_BIN ${UNRES_MD_SRCS} ) +set_target_properties(UNRES_BIN PROPERTIES OUTPUT_NAME ${UNRES_BIN}) +set_property(TARGET UNRES_BIN PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin ) #========================================= @@ -214,16 +252,16 @@ set_property(TARGET UNRES_BIN-MD PROPERTY RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINAR # link MPI library (libmpich.a) if(UNRES_WITH_MPI) - target_link_libraries( UNRES_BIN-MD ${MPI_Fortran_LIBRARIES} ) + target_link_libraries( UNRES_BIN ${MPI_Fortran_LIBRARIES} ) endif(UNRES_WITH_MPI) # link libxdrf.a #message("UNRES_XDRFLIB=${UNRES_XDRFLIB}") -target_link_libraries( UNRES_BIN-MD xdrf ) +target_link_libraries( UNRES_BIN xdrf ) #========================================= # Install Path #========================================= -install(TARGETS UNRES_BIN-MD DESTINATION ${CMAKE_INSTALL_PREFIX}) +install(TARGETS UNRES_BIN DESTINATION ${CMAKE_INSTALL_PREFIX}) #========================================= # TESTS @@ -480,6 +518,7 @@ if(NOT UNRES_WITH_MPI) if(UNRES_MD_FF STREQUAL "GAB") add_test(NAME UNRES_MD_Ala10 COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh ) + add_test(NAME UNRES_M_CHECKGRAD_homology COMMAND sh ${CMAKE_CURRENT_BINARY_DIR}/test_mpi_E0LL2Y.sh Ts866_checkgrad_full 2 2 ) endif(UNRES_MD_FF STREQUAL "GAB") if(UNRES_MD_FF STREQUAL "E0LL2Y") @@ -499,6 +538,7 @@ else(NOT UNRES_WITH_MPI) if(UNRES_MD_FF STREQUAL "GAB") add_test(NAME UNRES_MD_MPI_Ala10 COMMAND ${mpiexec} ${boot_lam} ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh ) + 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 ) endif(UNRES_MD_FF STREQUAL "GAB") if(UNRES_MD_FF STREQUAL "E0LL2Y") @@ -516,4 +556,6 @@ else(NOT UNRES_WITH_MPI) endif(UNRES_MD_FF STREQUAL "E0LL2Y") endif(NOT UNRES_WITH_MPI) + +