cmake_minimum_required (VERSION 3.0)

project (TinkerInterface LANGUAGES NONE)

enable_language (Fortran)
add_library (tinkerObjF OBJECT
../source/action.f
../source/alfmol.f
../source/align.f
../source/analyz.f
../source/angang.f
../source/angbnd.f
../source/angpot.f
../source/angtor.f
../source/argue.f
../source/ascii.f
../source/atmlst.f
../source/atomid.f
../source/atoms.f
../source/bath.f
../source/bitor.f
../source/bndpot.f
../source/bndstr.f
../source/bound.f
../source/boxes.f
../source/cell.f
../source/cflux.f
../source/charge.f
../source/chgpen.f
../source/chgpot.f
../source/chgtrn.f
../source/chrono.f
../source/chunks.f
../source/couple.f
../source/ctrpot.f
../source/deriv.f
../source/dipole.f
../source/disgeo.f
../source/disp.f
../source/dma.f
../source/domega.f
../source/dsppot.f
../source/energi.f
../source/ewald.f
../source/expol.f
../source/extfld.f
../source/faces.f
../source/fft.f
../source/fields.f
../source/files.f
../source/fracs.f
../source/freeze.f
../source/gkstuf.f
../source/group.f
../source/hescut.f
../source/hessn.f
../source/hpmf.f
../source/ielscf.f
../source/improp.f
../source/imptor.f
../source/inform.f
../source/inter.f
../source/iounit.f
../source/kanang.f
../source/kangs.f
../source/kantor.f
../source/katoms.f
../source/kbonds.f
../source/kcflux.f
../source/kchrge.f
../source/kcpen.f
../source/kctrn.f
../source/kdipol.f
../source/kdsp.f
../source/kexpl.f
../source/keys.f
../source/khbond.f
../source/kiprop.f
../source/kitors.f
../source/kmulti.f
../source/kopbnd.f
../source/kopdst.f
../source/korbs.f
../source/kpitor.f
../source/kpolpr.f
../source/kpolr.f
../source/krepl.f
../source/ksolut.f
../source/kstbnd.f
../source/ksttor.f
../source/ktorsn.f
../source/ktrtor.f
../source/kurybr.f
../source/kvdwpr.f
../source/kvdws.f
../source/light.f
../source/limits.f
../source/linmin.f
../source/math.f
../source/mdstuf.f
../source/merck.f
../source/minima.f
../source/molcul.f
../source/moldyn.f
../source/moment.f
../source/mplpot.f
../source/mpole.f
../source/mrecip.f
../source/mutant.f
../source/neigh.f
../source/nonpol.f
../source/nucleo.f
../source/omega.f
../source/opbend.f
../source/opdist.f
../source/openmp.f
../source/orbits.f
../source/output.f
../source/params.f
../source/paths.f
../source/pbstuf.f
../source/pdb.f
../source/phipsi.f
../source/piorbs.f
../source/pistuf.f
../source/pitors.f
../source/pme.f
../source/polar.f
../source/polgrp.f
../source/polopt.f
../source/polpcg.f
../source/polpot.f
../source/poltcg.f
../source/potent.f
../source/potfit.f
../source/ptable.f
../source/qmstuf.f
../source/refer.f
../source/repel.f
../source/reppot.f
../source/resdue.f
../source/restrn.f
../source/rgddyn.f
../source/rigid.f
../source/ring.f
../source/rotbnd.f
../source/rxnfld.f
../source/rxnpot.f
../source/scales.f
../source/sequen.f
../source/shapes.f
../source/shunt.f
../source/sizes.f
../source/socket.f
../source/solpot.f
../source/solute.f
../source/stodyn.f
../source/strbnd.f
../source/strtor.f
../source/syntrn.f
../source/tarray.f
../source/tettor.f
../source/titles.f
../source/torpot.f
../source/tors.f
../source/tortor.f
../source/tree.f
../source/tritor.f
../source/units.f
../source/uprior.f
../source/urey.f
../source/urypot.f
../source/usage.f
../source/valfit.f
../source/vdw.f
../source/vdwpot.f
../source/vibs.f
../source/virial.f
../source/warp.f
../source/xtals.f
../source/zclose.f
../source/zcoord.f
../source/active.f
../source/alterchg.f
../source/alterpol.f
../source/analysis.f
../source/angles.f
../source/attach.f
../source/baoab.f
../source/basefile.f
../source/beeman.f
../source/bicubic.f
../source/bitors.f
../source/bonds.f
../source/born.f
../source/bounds.f
../source/calendar.f
../source/center.f
../source/chkpole.f
../source/chkring.f
../source/chksymm.f
../source/chkxyz.f
../source/cholesky.f
../source/clock.f
../source/cluster.f
../source/column.f
../source/command.f
../source/connect.f
../source/connolly.f
../source/control.f
../source/cspline.f
../source/cutoffs.f
../source/damping.f
../source/dcflux.f
../source/deflate.f
../source/delete.f
../source/dexpol.f
../source/diagq.f
../source/diffeq.f
../source/eangang.f
../source/eangang1.f
../source/eangang2.f
../source/eangang3.f
../source/eangle.f
../source/eangle1.f
../source/eangle2.f
../source/eangle3.f
../source/eangtor.f
../source/eangtor1.f
../source/eangtor2.f
../source/eangtor3.f
../source/ebond.f
../source/ebond1.f
../source/ebond2.f
../source/ebond3.f
../source/ebuck.f
../source/ebuck1.f
../source/ebuck2.f
../source/ebuck3.f
../source/echarge.f
../source/echarge1.f
../source/echarge2.f
../source/echarge3.f
../source/echgdpl.f
../source/echgdpl1.f
../source/echgdpl2.f
../source/echgdpl3.f
../source/echgtrn.f
../source/echgtrn1.f
../source/echgtrn2.f
../source/echgtrn3.f
../source/edipole.f
../source/edipole1.f
../source/edipole2.f
../source/edipole3.f
../source/edisp.f
../source/edisp1.f
../source/edisp2.f
../source/edisp3.f
../source/egauss.f
../source/egauss1.f
../source/egauss2.f
../source/egauss3.f
../source/egeom.f
../source/egeom1.f
../source/egeom2.f
../source/egeom3.f
../source/ehal.f
../source/ehal1.f
../source/ehal2.f
../source/ehal3.f
../source/eimprop.f
../source/eimprop1.f
../source/eimprop2.f
../source/eimprop3.f
../source/eimptor.f
../source/eimptor1.f
../source/eimptor2.f
../source/eimptor3.f
../source/elj.f
../source/elj1.f
../source/elj2.f
../source/elj3.f
../source/embed.f
../source/emetal.f
../source/emetal1.f
../source/emetal2.f
../source/emetal3.f
../source/emm3hb.f
../source/emm3hb1.f
../source/emm3hb2.f
../source/emm3hb3.f
../source/empole.f
../source/empole1.f
../source/empole2.f
../source/empole3.f
../source/energy.f
../source/eopbend.f
../source/eopbend1.f
../source/eopbend2.f
../source/eopbend3.f
../source/eopdist.f
../source/eopdist1.f
../source/eopdist2.f
../source/eopdist3.f
../source/epitors.f
../source/epitors1.f
../source/epitors2.f
../source/epitors3.f
../source/epolar.f
../source/epolar1.f
../source/epolar2.f
../source/epolar3.f
../source/erepel.f
../source/erepel1.f
../source/erepel2.f
../source/erepel3.f
../source/erf.f
../source/erxnfld.f
../source/erxnfld1.f
../source/erxnfld2.f
../source/erxnfld3.f
../source/esolv.f
../source/esolv1.f
../source/esolv2.f
../source/esolv3.f
../source/estrbnd.f
../source/estrbnd1.f
../source/estrbnd2.f
../source/estrbnd3.f
../source/estrtor.f
../source/estrtor1.f
../source/estrtor2.f
../source/estrtor3.f
../source/etors.f
../source/etors1.f
../source/etors2.f
../source/etors3.f
../source/etortor.f
../source/etortor1.f
../source/etortor2.f
../source/etortor3.f
../source/eurey.f
../source/eurey1.f
../source/eurey2.f
../source/eurey3.f
../source/evcorr.f
../source/exfield.f
../source/extra.f
../source/extra1.f
../source/extra2.f
../source/extra3.f
../source/fatal.f
../source/fft3d.f
../source/fftpack.f
../source/field.f
../source/final.f
../source/findnuc.f
../source/findpro.f
../source/findseq.f
../source/flatten.f
../source/freeunit.f
../source/geometry.f
../source/getarc.f
../source/getcart.f
../source/getdcd.f
../source/getint.f
../source/getkey.f
../source/getmol.f
../source/getmol2.f
../source/getnumb.f
../source/getpdb.f
../source/getprm.f
../source/getref.f
../source/getstring.f
../source/gettext.f
../source/getword.f
../source/getxyz.f
../source/ghmcstep.f
../source/gradient.f
../source/gradrgd.f
../source/gradrot.f
../source/groups.f
../source/grpline.f
../source/gyrate.f
../source/hessian.f
../source/hessrgd.f
../source/hessrot.f
../source/hybrid.f
../source/image.f
../source/impose.f
../source/induce.f
../source/inertia.f
../source/initatom.f
../source/initial.f
../source/initneck.f
../source/initprm.f
../source/initres.f
../source/initrot.f
../source/insert.f
../source/invbeta.f
../source/invert.f
../source/jacobi.f
../source/kangang.f
../source/kangle.f
../source/kangtor.f
../source/katom.f
../source/kbond.f
../source/kcharge.f
../source/kchgflx.f
../source/kchgtrn.f
../source/kdipole.f
../source/kdisp.f
../source/kewald.f
../source/kexpol.f
../source/kextra.f
../source/kgeom.f
../source/kimprop.f
../source/kimptor.f
../source/kinetic.f
../source/kmetal.f
../source/kmpole.f
../source/kopbend.f
../source/kopdist.f
../source/korbit.f
../source/kpitors.f
../source/kpolar.f
../source/krepel.f
../source/ksolv.f
../source/kstrbnd.f
../source/kstrtor.f
../source/ktors.f
../source/ktortor.f
../source/kundrot.f
../source/kurey.f
../source/kvdw.f
../source/lattice.f
../source/lbfgs.f
../source/lights.f
../source/lusolve.f
../source/makeint.f
../source/makeref.f
../source/makexyz.f
../source/maxwell.f
../source/mdinit.f
../source/mdrest.f
../source/mdsave.f
../source/mdstat.f
../source/mechanic.f
../source/merge.f
../source/molecule.f
../source/moments.f
../source/mutate.f
../source/nblist.f
../source/neck.f
../source/nextarg.f
../source/nexttext.f
../source/nose.f
../source/nspline.f
../source/number.f
../source/numeral.f
../source/numgrad.f
../source/ocvm.f
../source/openend.f
../source/optinit.f
../source/optsave.f
../source/orbital.f
../source/orient.f
../source/orthog.f
../source/overlap.f
../source/picalc.f
../source/pmestuf.f
../source/pmpb.f
../source/polymer.f
../source/predict.f
../source/pressure.f
../source/prmkey.f
../source/promo.f
../source/prtarc.f
../source/prtdyn.f
../source/prterr.f
../source/prtfrc.f
../source/prtint.f
../source/prtmol2.f
../source/prtpdb.f
../source/prtprm.f
../source/prtseq.f
../source/prtuind.f
../source/prtvel.f
../source/prtxyz.f
../source/qrsolve.f
../source/quatfit.f
../source/random.f
../source/rattle.f
../source/readcart.f
../source/readdcd.f
../source/readdyn.f
../source/readgau.f
../source/readgdma.f
../source/readint.f
../source/readmbis.f
../source/readmol.f
../source/readmol2.f
../source/readpdb.f
../source/readprm.f
../source/readseq.f
../source/readxyz.f
../source/replica.f
../source/respa.f
../source/rgdstep.f
../source/richmond.f
../source/rings.f
../source/rmsfit.f
../source/rotlist.f
../source/rotpole.f
../source/sdstep.f
../source/search.f
../source/server.f
../source/setprm.f
../source/shakeup.f
../source/sigmoid.f
../source/simplex.f
../source/sktstuf.f
../source/sort.f
../source/square.f
../source/suffix.f
../source/surface.f
../source/surfatom.f
../source/switch.f
../source/tcgstuf.f
../source/temper.f
../source/tettors.f
../source/tncg.f
../source/torphase.f
../source/torque.f
../source/torsions.f
../source/trimtext.f
../source/tritors.f
../source/unionball.f
../source/unitcell.f
../source/verlet.f
../source/version.f
../source/volume.f
../source/xyzatm.f
../source/zatom.f)

if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/cpp/tinker/routines.h")
    enable_language (CXX)
    add_library (tinkerObjCpp OBJECT cpp/tinker/routines.cpp cpp/tinker/modcpp.cpp)
    if (${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU)
        target_include_directories (tinkerObjCpp PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include/tinker/gfortran")
    elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel)
        target_include_directories (tinkerObjCpp PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include/tinker/ifort")
    else ()
        message (FATAL_ERROR "Must use a GNU or Intel Fortran compiler; Please export FC=valid_fortran_compiler; ${CMAKE_Fortran_COMPILER_ID} is not supported.")
    endif ()
    add_library (tinkerFToCpp STATIC $<TARGET_OBJECTS:tinkerObjF> $<TARGET_OBJECTS:tinkerObjCpp>)
    target_include_directories (tinkerFToCpp PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/cpp")
    target_link_libraries (tinkerFToCpp PUBLIC tinkerObjF tinkerObjCpp)
endif ()
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/c/tinker/routines.h")
    enable_language (C)
    add_library (tinkerObjC OBJECT c/tinker/routines.c)
    if (${CMAKE_Fortran_COMPILER_ID} STREQUAL GNU)
        target_include_directories (tinkerObjC PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include/tinker/gfortran")
    elseif (${CMAKE_Fortran_COMPILER_ID} STREQUAL Intel)
        target_include_directories (tinkerObjC PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/include/tinker/ifort")
    else ()
        message (FATAL_ERROR "Must use a GNU or Intel Fortran compiler; Please export FC=valid_fortran_compiler; ${CMAKE_Fortran_COMPILER_ID} is not supported.")
    endif ()
    add_library (tinkerFToC STATIC $<TARGET_OBJECTS:tinkerObjF> $<TARGET_OBJECTS:tinkerObjC>)
    target_include_directories (tinkerFToC PUBLIC "${CMAKE_CURRENT_SOURCE_DIR}/c")
    target_link_libraries (tinkerFToC PUBLIC tinkerObjF tinkerObjC)
endif ()

# Generated by v49.
