cmake_minimum_required(VERSION 3.16)

project(Dimension)

set(SOURCES
    "ADSGePointDir2d.cpp"
    "ADSGePointList.cpp"
    "Ge3DFace.cpp"
    "GeArc.cpp"
    "GeCircle.cpp"
    "GeCurve.cpp"
    "GeCurveSegment.cpp"
    "GeEntity.cpp"
    "GeLine.cpp"
    "GeLinearEnt.cpp"
    "GePface.cpp"
    "GePlane.cpp"
    "GePoly.cpp"
    "GePoly2D.cpp"
    "GePoly3D.cpp"
    "GePolyFacet.cpp"
    "GePolygonEx.cpp"
    "GeSector.cpp"
    "GeShape.cpp"
    "GeTrianglePface.cpp"
    "PointList.cpp"
    "PushPrec.cpp"
    "SHAcDbBlockTable.cpp"
    "ADSGePoint3d.cpp"
    "AecDbDimension.cpp"
    "Dimension.cpp"
    "command.cpp"
    "DragPickEntSet.cpp"
    "EntitySet.cpp"
    "globalFunc.cpp"
    "PickEntSet.cpp"
    "RBGroups.cpp"
    "RBList.cpp"
    "SHGeoBase.cpp"
    "StdAfx.cpp"
    "ADSPrintf.cpp"
    "SymbolTableRecord.cpp"
    "ge3dface3pt.cpp"
    "getriangle.cpp"
    "aecdbtext.cpp"
    "aecdbentitybaseex.cpp"
    "findparser.cpp"
    "subtext.cpp"
    "astring.cpp"
    "acstringlist.cpp"
    "wcstringlist.cpp"
    "wcstring.cpp"
    "ustring.cpp"
    "wvallist.cpp"
    "wformatunit.cpp"
    "acstring.cpp"
    "aecdbsymbcoord.cpp"
    "aecdbsymbindexpointer.cpp"
    "aecdbsymbdrawingindex.cpp"
    "aecdbsymbsection.cpp"
    "aecdbsymbnorththumb.cpp"
    "aecdbsymbmultileader.cpp"
    "aecdbsymbmodi.cpp"
    "aecdbsymbelevation.cpp"
    "aecdbsymbcomposing.cpp"
    "aecdbsymbarrow.cpp"
    "aecdbradiusdim.cpp"
    "aecdbdrawingname.cpp"
    "aecdbdimension_old.cpp"
    "aecdbsymbrupture.cpp"
    "aecdbsymbsymmetry.cpp"
    "wdictitem.cpp"
    "entityedjig.cpp"
    "symbdialog.cpp"
    "inittextstyle.cpp"
    "anotate_export.cpp"
    "aecdbmtext.cpp"
    "giclipboundary.cpp"
    "gedbpolyline.cpp"
    "gedbcurvesegentity.cpp"
    "gedbcurveentity.cpp"
    "entityfields.cpp"
    "entityfield.cpp"
    "aecdbsymbwithtext.cpp"
    "dimtextcontent.cpp"
    "dimtextpos.cpp"
    "ui_supergridctrl.cpp"
    "dimoptiondlg.cpp"
    "ui_comboinlistview.cpp"
    "ui_listeditctrl.cpp"
    "sortedvertexlist.cpp"
    "pushproperty.cpp"
    "initdimstyle.cpp"
    "masterproperties.cpp"
    "acedinputpointmonitorex.cpp"
    "gerectangle.cpp"
    "wdgrid.cpp"
    "initlay.cpp"
    "symbolstringlist.cpp"
    "attachmentprototype.cpp"
    "dbequipment.cpp"
    "dbfcursorset.cpp"
    "dbfexception.cpp"
    "dbffields.cpp"
    "dbfmemcursorset.cpp"
    "dbfrecordset.cpp"
    "dbftabledef.cpp"
    "dbftools.cpp"
    "dbpipe.cpp"
    "dbpipelabel.cpp"
    "dbtmemofile.cpp"
    "dbwell.cpp"
    "dibapi.cpp"
    "edjigex.cpp"
    "fptmemofile.cpp"
    "memofile.cpp"
    "nodeprototype.cpp"
    "pipeprototype.cpp"
    "selectblkdlg.cpp"
    "slidestatic.cpp"
    "smtmemofile.cpp"
    "tdbfstring.cpp"
    "tggecolorline.cpp"
    "tggecolorlinelist.cpp"
    "tggecolorsolid.cpp"
    "tggibitmapstorage.cpp"
    "tggicompressstorage.cpp"
    "tggijpegstorage.cpp"
    "tggislibstorage.cpp"
    "tggislidestorage.cpp"
    "tggistreamfile.cpp"
    "timagedrawdc.cpp"
    "tstaticbuffer.cpp"
    "twelljig.cpp"
    "welldlg.cpp"
    "ccolorbutton.cpp"
    "dbgridsheet.cpp"
    "dbpool.cpp"
    "dbrect.cpp"
    "dbstake.cpp"
    "dbverticalsection.cpp"
    "dbverticalsectionfeed.cpp"
    "dbwelldim.cpp"
    "editpipedngradientdlg.cpp"
    "editwelllayingdepthdlg.cpp"
    "elevationcalc.cpp"
    "elevationcalccheckdlg.cpp"
    "elevationcalcdlg.cpp"
    "elevationcheckdlg.cpp"
    "hdbequipment.cpp"
    "laydepthsetdlg.cpp"
    "positiveelevationcalc.cpp"
    "reverseelevationcalc.cpp"
    "tblockgeominfo.cpp"
    "tggidrawingstorage.cpp"
    "wellcalcearthworkdlg.cpp"
    "wellcalcmodifyeledlg.cpp"
    "wellcalcsettingdlg.cpp"
    "xtext.cpp"
    "block.cpp"
    "captionbutton.cpp"
    "collectelevation.cpp"
    "datacontainer.cpp"
    "dim.cpp"
    "drawsectionsymbol.cpp"
    "elevationcheck.cpp"
    "evadeupdating.cpp"
    "gesolid.cpp"
    "gesolidcurve.cpp"
    "gspreviewctrl.cpp"
    "gullydlg.cpp"
    "horizontalsection.cpp"
    "horizontalsectiondlg.cpp"
    "impdrawcontrollablesection.cpp"
    "impdrawgeneralsection.cpp"
    "inshydrantdlg.cpp"
    "intersectpointnumberdlg.cpp"
    "outdoor.cpp"
    "perpedistancetable.cpp"
    "pipedowndimeditdlg.cpp"
    "pipeintercheckdlg.cpp"
    "setdatasourcedlg.cpp"
    "stakedlg.cpp"
    "tblockedjig.cpp"
    "gehatch.cpp"
    "tggiclipboundary.cpp"
    "tggidrawstreambase.cpp"
    "tggiexplodedrawbase.cpp"
    "timagedrawdcex.cpp"
    "tmasterproperties.cpp"
    "tsectionedjig.cpp"
    "tverticalsectionedjig.cpp"
    "twflag.cpp"
    "verticalsectionfeeddlg.cpp"
    "verticalsectionsettingdlg.cpp"
    "wellcoordsheetsettingdlg.cpp"
    "welldimeditdlg.cpp"
    "wellserial.cpp"
    "wellserialdlg.cpp"
    "wgroupctrl.cpp"
    "wgroupdlg.cpp"
    "xblock.cpp"
    "calcdirtwelldlg.cpp"
    "cesspoolcalcdlg.cpp"
    "cesspoolexplaindlg.cpp"
    "deletelabledlg.cpp"
    "editoutdoorpipedlg.cpp"
    "excel9.cpp"
    "msword8.cpp"
    "pooldlg.cpp"
    "raincalc.cpp"
    "tblockinsertedjig.cpp"
    "tdbblockinsert.cpp"
    "tidpointpair.cpp"
    "welldndlg.cpp"
    "wellmodifydlg.cpp"
    "wellrepiardlg.cpp"
    "dimoptiondata.cpp"
    "dimdocreactor.cpp"
    "realedit.cpp"
    "tregobject.cpp"
    "myspin.cpp"
    "snapsprinkerjig.cpp"
    "sprinkisometrydlg.cpp"
    "sprinklerbyarcdlg.cpp"
    "sprinklerbyfreedlg.cpp"
    "sprinklerbylinedlg.cpp"
    "sprinklerbyrectdlg.cpp"
    "sprinklerbysectiondlg.cpp"
    "tregproperty.cpp"
    "xdbosnappoint.cpp"
    "xrect.cpp"
    "tggiscreendrawstream.cpp"
    "editdim.cpp"
    "inplaceedit.cpp"
    "sprinklerdimpipedndlg.cpp"
    "sprinklermodifydlg.cpp"
    "sprinklerbyinterdlg.cpp"
    "linkhydrantnew.cpp"
    "linkhydrantvpipedlg.cpp"
    "linkhydrantdlg.cpp"
    "linkhydrantpipedlg.cpp"
    "hydrantplandlg.cpp"
    "protectradiusdlg.cpp"
    "layfireextinguisherdlg.cpp"
    "fireextinguisherjig.cpp"
    "fireextinguishercmd.cpp"
    "dbfireextinguisher.cpp"
    "hydrantcalcdlg.cpp"
    "datastoredlg.cpp"
    "accessorydraindlg.cpp"
    "feedaccessorydlg.cpp"
    "sanitarydangdlg.cpp"
    "calcfeedindustrydlg.cpp"
    "calcfeedpublickdlg.cpp"
    "calcfeedsettingdlg.cpp"
    "calcroomdlg.cpp"
    "dbpipevalve.cpp"
    "distfloordlg.cpp"
    "feedcalcmandlg.cpp"
    "principlefeeddlg.cpp"
    "principlepubfeeddlg.cpp"
    "santaryindustrydlg.cpp"
    "sprinklercalc.cpp"
    "sprinklercalcdlg.cpp"
    "tipwnd.cpp"
    "twordformulastemplet.cpp"
    "modifydimdlg.cpp"
    "Dimension.rc"
 # Dimension.def
)
add_def_file_name(SOURCES "Dimension")

add_library(Dimension SHARED ${SOURCES})
target_precompile_headers(Dimension PRIVATE StdAfx.h)
target_link_objectarx(Dimension Dimension_EXPORT)
target_set_name_and_suffix(Dimension "Dimension" ".arx")
target_link_libraries(Dimension PRIVATE
	AecRxBase
	CoreCommand_BAL_REMOTE
	"Imm32.lib"
)
set_debug_post_build(Dimension "Dimension" ".arx")