X-Git-Url: http://mmka.chem.univ.gda.pl/gitweb/?a=blobdiff_plain;f=source%2Funres%2Fsrc_MIN%2FCMakeLists.txt;h=feafdc84fa33ca67d3d72af0bf60a61d4d942e51;hb=98efa9df3f208f7a5a5b833bdf6c829d8d5a0345;hp=ddb6896345489cb4be036d4c6710c7a28181cc8c;hpb=69e7eb6f86190ed55e6a46fb2ea82840f3da19be;p=unres.git diff --git a/source/unres/src_MIN/CMakeLists.txt b/source/unres/src_MIN/CMakeLists.txt index ddb6896..feafdc8 100644 --- a/source/unres/src_MIN/CMakeLists.txt +++ b/source/unres/src_MIN/CMakeLists.txt @@ -7,6 +7,7 @@ enable_language (Fortran) #================================ # Set source file lists #================================ +# sources used with FFLAGS0 set(UNRES_MIN_SRC0 arcos.f cartder.F @@ -14,8 +15,10 @@ set(UNRES_MIN_SRC0 chainbuild.F checkder_p.F convert.f + djacob.f econstr_local.F - geomout_min.F + gen_rand_conf.F + geomout_min.F initialize_p.F intcartderiv.F intcor.f @@ -32,25 +35,29 @@ set(UNRES_MIN_SRC0 readrtns_min.F rescode.f rmdd.f + sc_move.F sumsld.f timing.F unres_min.F ) - +# sources used with FFLAGS1 set(UNRES_MIN_SRC1 cored.f ) +# sources used with FFLAGS2 set(UNRES_MIN_SRC2 readpdb.F ) +# sources used with FFLAGS3 set(UNRES_MIN_SRC3 energy_p_new_barrier.F gradient_p.F ) +# sources used with preprocesor flags (should also be listed above with FFLAGSX) set(UNRES_MIN_PP_SRC bank.F cartder.F @@ -118,7 +125,7 @@ if (Fortran_COMPILER_NAME STREQUAL "ifort") set(FFLAGS2 "-w -g -00 ") set(FFLAGS3 "-g -w -ipo " ) elseif (Fortran_COMPILER_NAME STREQUAL "gfortran") - set(FFLAGS0 " " ) + set(FFLAGS0 "-O" ) set(FFLAGS1 "-g -C" ) set(FFLAGS2 "-g -O0 ") set(FFLAGS3 "-O3" ) @@ -160,12 +167,35 @@ set_property(SOURCE ${UNRES_MIN_PP_SRC} PROPERTY COMPILE_DEFINITIONS ${CPPFLAGS} #======================================== set(UNRES_BIN "unres_min_${Fortran_COMPILER_NAME}.exe") -#set(UNRES_CINFO_DIR "${CMAKE_CURRENT_BINARY_DIR}" ) +#======================================== +# cinfo.f workaround for Cmake +#======================================== +# get the current date +TODAY(DATE) +# generate cinfo.f +FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f +"C CMake generated file + subroutine cinfo + include 'COMMON.IOUNITS' + write(iout,*)'++++ Compile info ++++' + write(iout,*)'Version ${UNRES_MAJOR}.${UNRES_MINOR} build ${UNRES_PATCH}' + write(iout,*)'Compiled ${DATE}' + write(iout,*)'Compiled by $ENV{USER}@$ENV{HOST}' + write(iout,*)'OS name: ${CMAKE_SYSTEM_NAME}' + write(iout,*)'OS release: ${CMAKE_SYSTEM}' + write(iout,*)'FC: ${CMAKE_Fortran_COMPILER}' + write(iout,*)'Version MINI energy and minimization only' + 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 MIN sources #========================================= -set(UNRES_MIN_SRCS ${UNRES_MIN_SRC0} ${UNRES_MIN_SRC1} ${UNRES_MIN_SRC2} ${UNRES_MIN_SRC3} cinfo.f ) +set(UNRES_MIN_SRCS ${UNRES_MIN_SRC0} ${UNRES_MIN_SRC1} ${UNRES_MIN_SRC2} ${UNRES_MIN_SRC3} ${CMAKE_CURRENT_BINARY_DIR}/cinfo.f ) #========================================= # Build the binary