# # CMake project file for UNRES # enable_language (Fortran) # xdrf library add_subdirectory(xdrf) # Set sources set(UNRES_MD_SRC0 unres.F arcos.f cartprint.f chainbuild.F convert.f initialize_p.F matmult.f readrtns.F parmread.F gen_rand_conf.F printmat.f map.f pinorm.f randgens.f rescode.f intcor.f timing.F misc.f intlocal.f cartder.F checkder_p.F econstr_local.F minimize_p.F sumsld.f cored.f rmdd.f geomout.F readpdb.F regularize.F thread.F fitsq.f mcm.F mc.F bond_move.f refsys.f check_sc_distr.f check_bond.f contact.f djacob.f eigen.f blas.f add.f entmcm.F minim_mcmf.F MP.F compare_s1.F prng_32.F banach.f rmsd.F elecont.f dihed_cons.F sc_move.F local_move.f intcartderiv.F lagrangian_lesyng.F stochfric.F kinetic_lesyng.f MD_A-MTS.F moments.f int_to_cart.f surfatom.f sort.f muca_md.f MREMD.F rattle.F gauss.f energy_split-sep.F q_measure.F gnmr1.f test.F ) set(UNRES_MD_SRC3 energy_p_new_barrier.F energy_p_new-sep_barrier.F gradient_p.F ) set(UNRES_MD_PP_SRC cartder.F chainbuild.F checkder_p.F compare_s1.F dihed_cons.F econstr_local.F energy_p_new_barrier.F energy_p_new-sep_barrier.F energy_split-sep.F entmcm.F gen_rand_conf.F geomout.F gradient_p.F initialize_p.F intcartderiv.F lagrangian_lesyng.F mc.F mcm.F MD_A-MTS.F minimize_p.F minim_mcmf.F MP.F MREMD.F parmread.F prng_32.F q_measure1.F q_measure3.F q_measure.F rattle.F readpdb.F readrtns.F regularize.F rmsd.F sc_move.F stochfric.F test.F thread.F timing.F unres.F ) # Set compiler flags for different sourcefiles set(FFLAGS0 "-O3 -ip -w -I${MPIF_INCLUDE_DIRECTORIES}" ) set(FFLAGS1 "-c -w -g -d2 -CA -CB -I${MPIF_INCLUDE_DIRECTORIES}" ) set(FFLAGS2 "-c -w -g -00 -I${MPIF_INCLUDE_DIRECTORIES} ") set(FFLAGS3 "-c -w -O3 -ipo -ipo_obj -opt_report -I${MPIF_INCLUDE_DIRECTORIES}" ) set_property(SOURCE ${UNRES_MD_SRC0} PROPERTY COMPILE_FLAGS ${FFLAGS0} ) #set_property(SOURCE ${UNRES_MD_SRC1} PROPERTY COMPILE_FLAGS ${FFLAGS1} ) #set_property(SOURCE ${UNRES_MD_SRC2} PROPERTY COMPILE_FLAGS ${FFLAGS2} ) set_property(SOURCE ${UNRES_MD_SRC3} PROPERTY COMPILE_FLAGS ${FFLAGS3} ) # Compile code if(UNRES_FF STREQUAL "GAB") # GAB forcefield compile Conditions if (Fortran_COMPILER_NAME STREQUAL "ifort") # do ifort specific stuff # set preprocesor flags set(CPPFLAGS "-DPROCOR -DLINUX -DPGI -DUNRES -DISNAN -DMP -DMPI -DSPLITELE -DLANGO -DCRYST_BOND -DCRYST_THETA -DCRYST_SC" ) # Apply them to *.F sources #add_definitions( ${CPPFLAGS} ) #SET(CMAKE_Fortran_COMPILE_OBJECT " ${CMAKE_START_TEMP_FILE} -DLINUX -c -o ${CMAKE_END_TEMP_FILE}") # set_property(SOURCE readrtns.F PROPERTY COMPILE_DEFINITIONS "-DMPI" ) # Set output binary set(UNRES_BIN "unres_ifort_MPICH_GAB.exe" ) endif (Fortran_COMPILER_NAME STREQUAL "ifort") else(UNRES_FF strequal "E0LL2Y") set(CPPFLAGS -DPROCOR -DLINUX -DPGI -DUNRES -DISNAN -DMP -DMPI -DSPLITELE -DLANG0 ) endif() set_property(SOURCE compinfo.c PROPERTY CMAKE_C_FLAGS "" ) add_executable(compinfo compinfo.c) add_custom_command(OUTPUT cinfo.f COMMAND ${CMAKE_CURRENT_BINARY_DIR}/compinfo | true ) #set_property(TARGET ${UNRES_BIN} PROPERTY COMPILE_DEFINITIONS MPI ) add_executable(${UNRES_BIN} ${UNRES_MD_SRC0} ${UNRES_MD_SRC3} cinfo.f )