cmake_minimum_required(VERSION 3.16) project(CoreLibrary) set(SOURCES "AcDbProxyAcGiEntity.cpp" "AcDbX3dSolid.cpp" "AcDbXFloorFrame.cpp" "AcPolylineJig.cpp" "Aec3dFaceplan.cpp" "AECAngleWatch.cpp" "AecComplexCurveDraw.cpp" "AecCoverBooleanOper.cpp" "AecDb3dRoad.cpp" "AecDb3dRoadAxisLine.cpp" "AecDb3dRoadFitting.cpp" "AecDbArcStair.cpp" "AecDbAssembleWell.cpp" "AecDbBDPipeBase.cpp" "AecDbBeam.cpp" "AecDbBlackHoleEntity.cpp" "AecDbBossHolder.cpp" "AecDbBuriedOutletDoghouse.cpp" "AecDbCableDoghouse.cpp" "AecDbClimbStair.cpp" "AecDbColumn.cpp" "AecDbConnectDoghouse.cpp" "AecDbCornerStair.cpp" "AecDbCrossStair.cpp" "AecDbDirPosition.cpp" "AecDbDoubleMulStair.cpp" "AecDbEarthWorm.cpp" "AecDbEarthWormFitting.cpp" "AecDbECableTray.cpp" "AecDbECFitting.cpp" "AecDbEscapeHatchHouse.cpp" "AecDbEwCable.cpp" "AecDbEwEquipment.cpp" "AecDbEwFitting.cpp" "AecDbEwFlexiblePipe.cpp" "AecDbEwPipe.cpp" "AecDbEwPipeBase.cpp" "AecDbEwPipeDim.cpp" "AecDbExtendedEntity.cpp" "AecDbFlume.cpp" "AecDbGlassCurtainWall.cpp" "AecDbGuardBar.cpp" "AecDbHanger.cpp" "AecDbHolder.cpp" "AecDbHvacDuct.cpp" "AecDbHvacFitting.cpp" "AecDbInsulation.cpp" "AecDbLandForm.cpp" "AecDbLineStair.cpp" "AecDbMRPLineStair.cpp" "AecDbMultiPartEntity.cpp" "AecDbOpening.cpp" "AecDbParaLlelStair.cpp" "AecDbParamEquipment.cpp" "AecDbPathSectionSymbDim.cpp" "AecDbPipeDoghouse.cpp" "aecdbpipehanger.cpp" "AecDbPoolCell.cpp" "AecDbPortRoom.cpp" "AecDbRectCornerStair.cpp" "AecDbRiverGroove.cpp" "AecDbRoof.cpp" "AecDbScissorsStair.cpp" "AecDbSectionView.cpp" "AecDbShEarthWorm.cpp" "AecDbSlab.cpp" "AecDbSludgePipe.cpp" "AecDbTongWall.cpp" "AecDbTriangleStair.cpp" "AecDbVenDoghouse.cpp" "AecDbWall.cpp" "AecDbWeir.cpp" "AecDbWell.cpp" "AecDbX3dGroup.cpp" "AecDbX3dPart.cpp" "AecDbX3dPartEntity.cpp" "AecDbXApron.cpp" "AecDbXBG.cpp" "AecDbXDormerWindow.cpp" "AecDbXEquipment.cpp" "AecDbXStep.cpp" "AecDbXXXDoghouse.cpp" "AecDbZLineStair.cpp" "AecEwEndDeepCloneAssocMake.cpp" "AecFloorViewDataRecord.cpp" "AecInfCmdGrip.cpp" "AecMInterfaces.cpp" "AecNodeDoubleClickEdit.cpp" "AECStatusRecord.cpp" "AecSupportFunc.cpp" "AecUnknownContext.cpp" "AecUnknownSubEntityTraits.cpp" "AecUnknownViewportDraw.cpp" "AecUnknownViewportGeometry.cpp" "AecUnknownWorldDraw.cpp" "AecUnknownWorldGeometry.cpp" "AecWall2DJoin.cpp" "AecWall3DJoin.cpp" "AecWallJoinDraw.cpp" "AuxTools.cpp" "BCMenu.cpp" "BitAnswer.cpp" "BrepOper.cpp" "DrawingFlowData.cpp" "encryption.cpp" "EquInsDirJig.cpp" "Geom.cpp" "geometry2json.cpp" "hzip.cpp" "ImpHvacCross.cpp" "ImpHvacElbow.cpp" "ImpHvacOffset.cpp" "ImpHvacReducer.cpp" "ImpHvacTee.cpp" "ImpMD5.cpp" "InternetSessionEx.cpp" "KTCadTempOverrides.cpp" "KTCadUtility.cpp" "KTCADUtilityEx.cpp" "KTEntityDragMgr.cpp" "KTEntityDumb.cpp" "KTInfoMonitor.cpp" "KTObjLifeMgr.cpp" "KTSetting.cpp" "KTTempTol.cpp" "MFCDbDwgFiler.cpp" "ParamEquImpl.cpp" "parseFamilyForRevit.cpp" "PointInPoly.cpp" "UIIBorderLine.cpp" "UIIBoundary.cpp" "UIITable.cpp" "unzip.cpp" "XEquipmentImpl.cpp" "aecdbterrain.cpp" "aecdbgroupopening.cpp" "aecdbzlinexopening.cpp" "aecdblinesegstair.cpp" "aecdbbasestair.cpp" "./hgrid/dimension.cxx" "./hgrid/hgrid.cxx" "./hgrid/hpolygon.cxx" "./hgrid/mgconst.cxx" "./hgrid/mgexcept.cxx" "./implement/stdafx.cpp" "aecdbarcsegstair.cpp" "aecdbrectstair.cpp" "aecdbascent.cpp" "aecdbbalcony.cpp" "breptools.cpp" "aecdbcamera.cpp" "hlrcutoption.cpp" "aecdbpingfadim.cpp" "aecdbdimscalezone.cpp" "aecdbjoggedcamera.cpp" ) get_encryption_modes(ENCRYPTION_MODES) foreach(MODE IN LISTS ENCRYPTION_MODES) set(_Target "CoreLibrary_${MODE}") add_library(${_Target} STATIC ${SOURCES}) target_precompile_headers(${_Target} PRIVATE ./implement/StdAfx.h) target_link_objectarx(${_Target} EARTHWORM_EXPORT ".lib") target_include_directories(${_Target} PRIVATE "./implement") target_link_libraries(${_Target} PRIVATE $<$:CoreImplement> ThirdParty::modernGlue ) set_encryption_definitions_and_output_path(${_Target} "${MODE}") set_target_properties(${_Target} PROPERTIES FOLDER "SH/Core/CoreLibrary") endforeach()