I hope this formats OK for the list...

I'm starting to get the feeling that I've not correctly created my CMakeLists.txt files, and that my problems are propagating from there.

My goal is simply to operate in the MS VC++ IDE (.NET 2003), so that I can use intellisense, the debugger etc. Thus, I will want to have both a debug and a release configuration.

As I wrote my CMakeList.txt files, I figured that I would just step through the 3 directories and do what was needed in each. I think the possibility that I've made some naive errors is high <g>.

As my project is really a pretty simple 3 directory project, perhaps my errors would be obvious to an experienced CMake user.

Correction inducing comments and elegance inducing elegies are welcome!


Here is the project tree:

sconx2    the root of the tree
JKLIB2    a library, most files need compiled as /TP a couple as /TC
NRC206   another library, works if all files compiled as /TC
TRAPS2 source for the application, needs to compile /TP and link with libraries


My CMakeList.txt files:


In sconx2:


# The name of our project is "TRAPS2".  CMakeLists files in this project can
# refer to the root source directory of the project as ${TRAPS2_SOURCE_DIR} and
# to the root binary directory of the project as ${TRAPS2_BINARY_DIR}.
PROJECT(TRAPS2)

# Recurse into the subdirectories.  This does not actually
# cause another cmake executable to run.  The same process will walk through
# the project's entire directory structure.
SUBDIRS(NRC206 JKLIB2 TRAPS2 )


In NRC206:

ADD_LIBRARY(NRC206 ADDINT.C AIRY.C AMEBSA.C AMOEBA.C AMOTRY.C AMOTSA.C ANNEAL.C ANORM2.C ARCMAK.C ARCODE.C ARCSUM.C ASOLVE.C ATIMES.C AVEVAR.C BALANC.C BANBKS.C BANDEC.C BANMUL.C BCCBUG.C BCUCOF.C BCUINT.C BESCHB.C BESSI.C BESSI0.C BESSI1.C BESSIK.C BESSJ.C BESSJ0.C BESSJ1.C BESSJY.C BESSK.C BESSK0.C BESSK1.C BESSY.C BESSY0.C BESSY1.C BETA.C BETACF.C BETAI.C BICO.C BKSUB.C BNLDEV.C BRENT.C BROYDN.C BSSTEP.C CALDAT.C CHDER.C CHEBEV.C CHEBFT.C CHEBPC.C CHINT.C CHIXY.C CHOLDC.C CHOLSL.C CHSONE.C CHSTWO.C CISI.C CNTAB1.C CNTAB2.C COMPLEX.C CONVLV.C COPY.C CORREL.C COSFT1.C COSFT2.C COVSRT.C CRANK.C CYCLIC.C DAUB4.C DAWSON.C DBRENT.C DDPOLY.C DECCHK.C DF1DIM.C DFOUR1.C DFPMIN.C DFRIDR.C DFTCOR.C DFTINT.C DIFEQ.C DLINMIN.C DPYTHAG.C DREALFT.C DSPRSAX.C DSPRSTX.C DSVBKSB.C DSVDCMP.C ECLASS.C ECLAZZ.C EI.C EIGSRT.C ELLE.C ELLF.C ELLPI.C ELMHES.C ERFCC.C ERFF.C ERFFC.C EULSUM.C EVLMEM.C EXPDEV.C EXPINT.C F1DIM.C FACTLN.C FACTRL.C FASPER.C FDJAC.C FGAUSS.C FILL0.C FIT.C FITEXY.C FIXRTS.C FLEG.C FLMOON.C FMINQ.C FOUR1.C FOUREW.C FOURFS.C FOURN.C FPOLY.C FRED2.C FREDIN.C FRENEL.C FRPRMN.C FTEST.C GAMDEV.C GAMMLN.C GAMMP.C GAMMQ.C GASDEV.C GAUCOF.C GAUHER.C GAUJAC.C GAULAG.C GAULEG.C GAUSSJ.C GCF.C GOLDEN.C GSER.C HPSEL.C HPSORT.C HQR.C HUFAPP.C HUFDEC.C HUFENC.C HUFMAK.C HUNT.C HYPDRV.C HYPGEO.C HYPSER.C ICRC.C ICRC1.C IGRAY.C IINDEXX.C INDEXX.C INTERP.C IRBIT1.C IRBIT2.C JACOBI.C JACOBN.C JULDAY.C KENDL1.C KENDL2.C KERMOM.C KS2D1S.C KS2D2S.C KSONE.C KSTWO.C LAGUER.C LFIT.C LINBCG.C LINMIN.C LNSRCH.C LOCATE.C LOP.C LUBKSB.C LUDCMP.C MACHAR.C MATADD.C MATSUB.C MEDFIT.C MEMCOF.C METROP.C MGFAS.C MGLIN.C MIDEXP.C MIDINF.C MIDPNT.C MIDSQL.C MIDSQU.C MISER.C MMID.C MNBRAK.C MNEWT.C MOMENT.C MP2DFR.C MPDIV.C MPINV.C MPMUL.C MPOPS.C MPPI.C MPROVE.C MPSQRT.C MRQCOF.C MRQMIN.C NEWT.C NRUTIL.C ODEINT.C ORTHOG.C PADE.C PCCHEB.C PCSHFT.C PEARSN.C PERIOD.C PIKSR2.C PIKSRT.C PINVS.C PLGNDR.C POIDEV.C POLCOE.C POLCOF.C POLDIV.C POLIN2.C POLINT.C POWELL.C PREDIC.C PROBKS.C PSDES.C PWT.C PWTSET.C PYTHAG.C PZEXTR.C QGAUS.C QRDCMP.C QROMB.C QROMO.C QROOT.C QRSOLV.C QRUPDT.C QSIMP.C QTRAP.C QUAD3D.C QUADCT.C QUADMX.C QUADVL.C RAN0.C RAN1.C RAN2.C RAN3.C RAN4.C RANK.C RANPT.C RATINT.C RATLSQ.C RATVAL.C RC.C RD.C REALFT.C REBIN.C RED.C RELAX.C RELAX2.C RESID.C REVCST.C REVERSE.C RF.C RJ.C RK4.C RKCK.C RKDUMB.C RKQS.C RLFT3.C ROFUNC.C ROTATE.C RSOLV.C RSTRCT.C RTBIS.C RTFLSP.C RTNEWT.C RTSAFE.C RTSEC.C RZEXTR.C SAVGOL.C SCRSHO.C SELECT.C SELIP.C SHELL.C SHOOT.C SHOOTF.C SIMP1.C SIMP2.C SIMP3.C SIMPLX.C SIMPR.C SINFT.C SLVSM2.C SLVSML.C SNCNDN.C SNRM.C SOBSEQ.C SOLVDE.C SOR.C SORT.C SORT2.C SORT3.C SPCTRM.C SPEAR.C SPHBES.C SPLIE2.C SPLIN2.C SPLINE.C SPLINT.C SPREAD.C SPRSAX.C SPRSIN.C SPRSPM.C SPRSTM.C SPRSTP.C SPRSTX.C STIFBS.C STIFF.C STOERM.C SVBKSB.C SVDCMP.C SVDFIT.C SVDVAR.C TOEPLZ.C TPTEST.C TQLI.C TRAPZD.C TRED2.C TRIDAG.C TRNCST.C TRNSPT.C TTEST.C TUTEST.C TWOFFT.C VANDER.C VEGAS.C VOLTRA.C WT1.C WTN.C WWGHTS.C ZBRAC.C ZBRAK.C ZBRENT.C ZRHQR.C ZRIDDR.C ZROOTS.C )


In JKLIB2:

SET (C_SRCS ADJPL.C BKADJ.C CHECKEOD.C CHECKIDD.C CHGEXT.C DTCONVS.C EPHDOW.C EPHISDST.C EPHMON.C EPHNAM.C EPHNAMH.C EPHPMI.C EPHRD.C EPHRVEC.C EPHSIG.C EPHTMC.C EPHTMD.C EPHVAL.C FINDDTM.C FINDDTMI.C FIXEOD.C FIXIDD.C INSBARS.C LINSREG.C LRPREDS.C LRPREDSX.C LRSLOPES.C MEMPRED.C MEMSPCT.C MEMTFIL.C MULREG.C NRMLZS.C PWRSPCT.C RAWSTOV.C RCORRS.C RDEOD.C RDMAT.C RDONEDY.C RDRTD.C RTL1.C RTXMAS.C SHFTHMS.C SHFTYMD.C SMOOTHC.C TMCONVS.C TPTOHMS.C TXMAS.C WREOD.C WRMAT.C WRMFF.C )

SET (CPP_SRCS GENOPT1.CPP TRDSIM2.CPP)
ADD_LIBRARY( jklib2 ${C_SRCS} ${CPP_SRCS} )


In TRAPS2:

# Make sure the compiler can find include files from our libraries
INCLUDE_DIRECTORIES( ${TRAPS2_SOURCE_DIR}/JKLIB2 ${TRAPS2_SOURCE_DIR}/NRC206 )

# Make sure the linker can find the libraries once they are built.
LINK_DIRECTORIES( ${TRAPS2_BINARY_DIR}/JKLIB2 ${TRAPS2_BINARY_DIR}/NRC206 )

ADD_EXECUTABLE( traps traps.c trapslib.c trapsrep.c trapsind.c trapsmod.c )

# Link the executable to the Hello library.
TARGET_LINK_LIBRARIES(traps jklib2 nrc206)


#FIND_LIBRARY( NAMES jklib2.lib PATHS C:/CTRADERX/sconx2/JKLIB2 )
#FIND_LIBRARY( NAMES nrc206.a PATHS C:/CTRADERX/sconx2/NRC206 )


That's it!



_______________________________________________
CMake mailing list
CMake@cmake.org
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to