cmake_minimum_required(VERSION 3.16)

project(wfpipew)

set(SOURCES
    "AirState.cpp"
    "AttachmentPrototype.cpp"
    "DbAirLets.cpp"
    "DbCanalFitting.cpp"
    "DbConfluenceArea.cpp"
    "DbDoubleLinePipe.cpp"
    "DbDoubleLinePipeReducer.cpp"
    "DbDuct.cpp"
    "DbDuct4Corner.cpp"
    "DbDuctElbow.cpp"
    "DbDuctTapered.cpp"
    "DbEquipDimNew.cpp"
    "DbEquipment.cpp"
    "DbFan.cpp"
    "DbFireExtinguisher.cpp"
    "DbFlangeFitting.cpp"
    "DbFloorPipe.cpp"
    "DbGouge.cpp"
    "DbGroupIdConfig.cpp"
    "DbHEquipment.cpp"
    "DbIDDot.cpp"
    "DbIDEntity.cpp"
    "DbIDProcessLine.cpp"
    "DbLowVoltSys.cpp"
    "DbMTextNew.cpp"
    "DbPipe.cpp"
    "DbPipeCanal.cpp"
    "DbPipeFitting.cpp"
    "DbPipeLabel.cpp"
    "DbPipeValve.cpp"
    "DbPool.cpp"
    "DbPsConfig.cpp"
    "DbPump.cpp"
    "DbRadiator.cpp"
    "DbStake.cpp"
    "DbTrenchFitting.cpp"
    "DbVerticalSection.cpp"
    "DbVerticalSectionFeed.cpp"
    "DbVPipeDim.cpp"
    "DbWaterAllot.cpp"
    "DbWaterTank.cpp"
    "DbWell.cpp"
    "DbWellDim.cpp"
    "DuctIFaceMakeUp.cpp"
    "DuctNodeData.cpp"
    "DuctPipeLink.cpp"
    "GlobalFunction.cpp"
    "HDbEquipment.cpp"
    "NodePrototype.cpp"
    "PipeLine.cpp"
    "PipePrototype.cpp"
    "PipeStyle1.cpp"
    "PipeStyle2.cpp"
    "PipeStyle3.cpp"
    "PipeStyle4.cpp"
    "PipeStyle5.cpp"
    "PipeStyle6.cpp"
    "PipeSystemProcessor.cpp"
    "PipeTools.cpp"
    "PipeWireMonitor.cpp"
    "SearchPipeSys.cpp"
    "StdAfx.cpp"
    "shs_pipewire.cpp"
    "TDbCircleText.cpp"
    "TDbDuctNode.cpp"
    "TDbPipeMultDim.cpp"
    "TDbWireDimNew.cpp"
    "TGripData.cpp"
    "TGripImp.cpp"
    "THVDbSpace.cpp"
    "TSysCoordinateTool.cpp"
    "shs_pipewire.rc"
    # "wfpipew.def"
)
add_def_file_name(SOURCES "wfpipew")

add_library(wfpipew SHARED ${SOURCES})

target_set_name_and_suffix(wfpipew "wfpipew" ".arx")

target_compile_definitions(wfpipew PRIVATE
    ACRXAPP
    S4FOX
    S4NT
    TAR_LANGUAGE=1
)

simple_link_cad_sdk(wfpipew)

target_link_options(wfpipew PRIVATE 
        "/NODEFAULTLIB:LIBCMT"      # 忽略 Release 版静态 CRT
    )

target_link_libraries(wfpipew PRIVATE
    shs_dbf
    wfK
    ThirdParty::TG
)

target_precompile_headers(wfpipew PRIVATE StdAfx.h)

set_debug_post_build(wfpipew "wfpipew" ".arx")