X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MD%2FCMakeLists.txt;h=dea499c5187f88ad64d7ef805ad9e18a29921dd9;hb=5316f1d82cb17d390be734cefbfca809cc65dcc4;hp=38add7b8938e68f97850f4a7502c14c0a83f8c81;hpb=7066d6d51c145a59c566196d2e5645c4d001a8f5;p=unres.git diff --git a/source/unres/src_MD/CMakeLists.txt b/source/unres/src_MD/CMakeLists.txt index 38add7b..dea499c 100644 --- a/source/unres/src_MD/CMakeLists.txt +++ b/source/unres/src_MD/CMakeLists.txt @@ -78,10 +78,17 @@ set(UNRES_MD_SRC0 timing.F thread.F unres.F + ssMD.F ) if(Fortran_COMPILER_NAME STREQUAL "ifort") set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) +elseif(Fortran_COMPILER_NAME STREQUAL "mpif90") + set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) +elseif(Fortran_COMPILER_NAME STREQUAL "f95") + set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) +elseif(Fortran_COMPILER_NAME STREQUAL "gfortran") + set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng.f ) else() set(UNRES_MD_SRC0 ${UNRES_MD_SRC0} prng_32.F ) endif (Fortran_COMPILER_NAME STREQUAL "ifort") @@ -149,11 +156,16 @@ if (Fortran_COMPILER_NAME STREQUAL "ifort") #set(FFLAGS3 "-c -w -O3 -ipo -ipo_obj -opt_report" ) set(FFLAGS3 "-w -ipo " ) elseif (Fortran_COMPILER_NAME STREQUAL "gfortran") - set(FFLAGS0 "-I. " ) - set(FFLAGS1 "-g -I. " ) - set(FFLAGS2 "-I. ") + set(FFLAGS0 "-std=legacy -I. " ) + set(FFLAGS1 "-std=legacy -g -I. " ) + set(FFLAGS2 "-std=legacy -I. ") #set(FFLAGS3 "-c -w -O3 -ipo -ipo_obj -opt_report" ) - set(FFLAGS3 "-I. " ) + set(FFLAGS3 "-std=legacy -I. " ) +elseif (Fortran_COMPILER_NAME STREQUAL "g77") + set(FFLAGS0 "-I ${CMAKE_CURRENT_SOURCE_DIR} " ) + set(FFLAGS1 "-g -I ${CMAKE_CURRENT_SOURCE_DIR} " ) + set(FFLAGS2 "-I ${CMAKE_CURRENT_SOURCE_DIR} ") + set(FFLAGS3 "-I ${CMAKE_CURRENT_SOURCE_DIR} " ) endif (Fortran_COMPILER_NAME STREQUAL "ifort") @@ -175,14 +187,14 @@ set_property(SOURCE ${UNRES_MD_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} ) #========================================= if(UNRES_MD_FF STREQUAL "GAB" ) # set preprocesor flags - set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC" ) + set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DCRYST_BOND -DCRYST_THETA -DCRYST_SC -DSCCORPDB" ) #========================================= # Settings for E0LL2Y force field #========================================= elseif(UNRES_MD_FF STREQUAL "E0LL2Y") # set preprocesor flags - set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0" ) + set(CPPFLAGS "PROCOR -DUNRES -DISNAN -DSPLITELE -DLANG0 -DSCCORPDB" ) endif(UNRES_MD_FF STREQUAL "GAB") #========================================= @@ -205,6 +217,12 @@ 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 "g77") + # Add old gfortran flags + set(CPPFLAGS "${CPPFLAGS} -DG77") +else(Fortran_COMPILER_NAME STREQUAL "ifort") + # Default preprocessor flag + set(CPPFLAGS "${CPPFLAGS} -DPGI") endif (Fortran_COMPILER_NAME STREQUAL "ifort") #========================================= @@ -232,25 +250,41 @@ else(UNRES_WITH_MPI) endif(UNRES_WITH_MPI) #========================================= -# cinfo.f stupid workaround for cmake -# - shame on me ]:) +# cinfo.f workaround for cmake #========================================= -set_property(SOURCE compinfo.c PROPERTY CMAKE_C_FLAGS "-c" ) -add_executable(compinfo-md compinfo.c) -set_target_properties(compinfo-md PROPERTIES OUTPUT_NAME compinfo) - -set(UNRES_CINFO_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) -add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/cinfo.f ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f - COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/COMMON.IOUNITS ${CMAKE_CURRENT_BINARY_DIR}/COMMON.IOUNITS - COMMAND ${CMAKE_CURRENT_BINARY_DIR}/compinfo | true - DEPENDS compinfo-md ) -set_property(SOURCE ${UNRES_CINFO_DIR}/cinfo.f PROPERTY COMPILE_FLAGS ${FFLAGS0} ) +# get the current date +TODAY(DATE) +# generate cinfo.f + +set(CINFO "${CMAKE_CURRENT_BINARY_DIR}/cinfo.f") +FILE(WRITE ${CINFO} +"C CMake generated file + subroutine cinfo + include 'COMMON.IOUNITS' + write(iout,*)'++++ Compile info ++++' + write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}' +") + +CINFO_FORMAT(${CINFO} "Compiled" "${DATE}" ) +CINFO_FORMAT(${CINFO} "Compiled by" "$ENV{USER}@$ENV{HOST}" ) +CINFO_FORMAT(${CINFO} "OS name:" "${CMAKE_SYSTEM_NAME}" ) +CINFO_FORMAT(${CINFO} "OS release:" "${CMAKE_SYSTEM}" ) +CINFO_FORMAT(${CINFO} "Fortran Compiler:" "${CMAKE_Fortran_COMPILER}" ) +CINFO_FORMAT(${CINFO} "MD Force field:" "${UNRES_MD_FF}" ) +CINFO_FORMAT(${CINFO} "CPPFLAGS =" "${CPPFLAGS}") + +FILE(APPEND ${CINFO} +" write(iout,*)'++++ End of compile info ++++' + return + end ") + +# add include path +set_property(SOURCE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f PROPERTY COMPILE_FLAGS "${FFLAGS0} -I${CMAKE_CURRENT_SOURCE_DIR}") #========================================= # Set full unres MD sources #========================================= -set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC3} ${UNRES_CINFO_DIR}/cinfo.f ) +set(UNRES_MD_SRCS ${UNRES_MD_SRC0} ${UNRES_MD_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f ) #========================================= @@ -315,7 +349,7 @@ export ELEPAR=$DD/electr_631Gdp.parm export SIDEPAR=$DD/sc_GB_opt.1gab_3S_qclass5no310-shan2-sc-16-10-8k export FOURIER=$DD/fourier_opt.parm.1igd_hc_iter3_3 export SCPPAR=$DD/scp.parm -export SCCORPAR=$DD/rotcorr_AM1.parm +export SCCORPAR=$DD/sccor_pdb_shelly.dat export PATTERN=$DD/patterns.cart #----------------------------------------------------------------------------- $UNRES_BIN @@ -369,7 +403,7 @@ if(NOT UNRES_WITH_MPI) else(NOT UNRES_WITH_MPI) - add_test(NAME UNRES_MD_MPI_Ala10 COMMAND mpirun -np 1 ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh ) + add_test(NAME UNRES_MD_MPI_Ala10 COMMAND mpiexec -boot ${CMAKE_CURRENT_BINARY_DIR}/test_single_ala.sh ) endif(NOT UNRES_WITH_MPI)