Files
envi-code/SourceCode/Code2026/cmake/ThirdPartyDeps.cmake
T
2026-09-28 15:28:50 +08:00

192 lines
5.4 KiB
CMake

message(STATUS ">>> 正在注册全局第三方 INTERFACE 目标...")
add_library(ShsGlobalIncludes INTERFACE)
target_include_directories(ShsGlobalIncludes INTERFACE
"${CMAKE_SOURCE_DIR}/inc"
"${CMAKE_SOURCE_DIR}/inc/implement"
)
add_library(ThirdParty::SQLite3 UNKNOWN IMPORTED)
set_target_properties(ThirdParty::SQLite3 PROPERTIES
IMPORTED_LOCATION "sqlite3_x64.lib"
INTERFACE_INCLUDE_DIRECTORIES "${CMAKE_CURRENT_SOURCE_DIR}/inc"
INTERFACE_LINK_DIRECTORIES "${DEP_LIB_ROOT}/pub"
)
add_library(ThirdParty_cURL INTERFACE)
target_include_directories(ThirdParty_cURL INTERFACE "${DEP_INC_ROOT}/curl")
target_link_directories(ThirdParty_cURL INTERFACE "${DEP_LIB_ROOT}/curl/${CMAKE_GENERATOR_TOOLSET}")
add_library(ThirdParty::cURL ALIAS ThirdParty_cURL)
set(CURRENT_ARX_SDK "${CAD_SDK_ROOT}/R${CAD_SDK_VERSION}.${CAD_SDK_SUBVERSION}")
add_library(ThirdParty_ARX INTERFACE)
set(INC_DIRS
"${CURRENT_ARX_SDK}/inc"
"${CURRENT_ARX_SDK}/inc-x64"
"${CURRENT_ARX_SDK}/utils/amodeler/inc"
"${CURRENT_ARX_SDK}/utils/Atil/inc"
"${CURRENT_ARX_SDK}/utils/brep/inc"
"${CURRENT_ARX_SDK}/utils/HlrApi/inc"
)
set(LIB_DIRS
"${CURRENT_ARX_SDK}/lib-x64"
"${CURRENT_ARX_SDK}/utils/amodeler/lib-x64"
"${CURRENT_ARX_SDK}/utils/Atil/lib-x64"
"${CURRENT_ARX_SDK}/utils/brep/lib-x64"
"${CURRENT_ARX_SDK}/utils/HlrApi/lib-x64"
)
set(ARX_LIBS
acad.lib
accore.lib
rxapi.lib
acgiapi.lib
axdb.lib
aecmodeler.lib)
list(APPEND ARX_LIBS
acdb${CAD_SDK_VERSION}.lib
acge${CAD_SDK_VERSION}.lib
acISMobj${CAD_SDK_VERSION}.lib
adui${CAD_SDK_VERSION}.lib
acui${CAD_SDK_VERSION}.lib
ac1st${CAD_SDK_VERSION}.lib
acgex${CAD_SDK_VERSION}.lib
acbr${CAD_SDK_VERSION}.lib)
if (CAD_SDK_VERSION GREATER 19)
list(APPEND ARX_LIBS
acdrawbridge.lib)
endif()
if (CAD_SDK_VERSION GREATER 23)
list(APPEND ARX_LIBS
acpal.lib
acgeoment.lib)
endif()
target_include_directories(ThirdParty_ARX INTERFACE ${INC_DIRS})
target_link_directories(ThirdParty_ARX INTERFACE ${LIB_DIRS})
target_link_libraries(ThirdParty_ARX INTERFACE ${ARX_LIBS})
add_library(ThirdParty::ARX ALIAS ThirdParty_ARX)
set(CURRENT_ZRX_SDK "${CAD_SDK_ROOT}/Z${CAD_SDK_VERSION}")
add_library(ThirdParty_ZRX INTERFACE)
if (CAD_SDK_VERSION LESS 2025)
set(INC_DIRS_Z
"${CURRENT_ZRX_SDK}/arxport"
"${CURRENT_ZRX_SDK}/arxport/arxport/pal/api"
"${CURRENT_ZRX_SDK}/inc"
"${CURRENT_ZRX_SDK}/inc/arxport/pal/api"
"${CURRENT_ZRX_SDK}/utils/amodeler/inc"
"${CURRENT_ZRX_SDK}/utils/amodeler/arxport"
"${CURRENT_ZRX_SDK}/utils/ztil/inc"
"${CURRENT_ZRX_SDK}/utils/ztil/arxport"
"${CURRENT_ZRX_SDK}/utils/brep/inc"
"${CURRENT_ZRX_SDK}/utils/brep/arxport"
"${CURRENT_ZRX_SDK}/utils/hlr/inc"
"${CURRENT_ZRX_SDK}/utils/hlr/arxport"
)
set(LIB_DIRS_Z
"${CURRENT_ZRX_SDK}/lib-x64"
"${CURRENT_ZRX_SDK}/utils/amodeler/lib-x64"
"${CURRENT_ZRX_SDK}/utils/ztil/lib-x64"
"${CURRENT_ZRX_SDK}/utils/brep/lib-x64"
"${CURRENT_ZRX_SDK}/utils/hlr/lib-x64"
)
else()
set (ZRX_SDK_ARXPORT "${CURRENT_ZRX_SDK}/arxport")
set(INC_DIRS_Z
"${ZRX_SDK_ARXPORT}/inc"
"${ZRX_SDK_ARXPORT}/inc-x64"
"${ZRX_SDK_ARXPORT}/utils/amodeler/inc"
"${ZRX_SDK_ARXPORT}/utils/atil/inc"
"${ZRX_SDK_ARXPORT}/utils/brep/inc"
"${ZRX_SDK_ARXPORT}/utils/hlrapi/inc"
)
set(LIB_DIRS_Z
"${ZRX_SDK_ARXPORT}/lib-x64"
"${ZRX_SDK_ARXPORT}/utils/amodeler/lib-x64"
"${ZRX_SDK_ARXPORT}/utils/atil/lib-x64"
"${ZRX_SDK_ARXPORT}/utils/brep/lib-x64"
"${ZRX_SDK_ARXPORT}/utils/hlrapi/lib-x64"
)
endif()
set(ARX_LIBS_Z
ZwBase.lib
ZWCAD.lib
ZwAuto.lib
ZwRx.lib
ZwZrx.lib
ZwGeometry.lib
ZwDatabase.lib
ZwDatabaseMgd.lib
ZwdUI.lib
ZwGs.lib
ZwTc.lib
ZwUI.lib
ZwBrep.lib
ZwAECModeler.lib)
target_include_directories(ThirdParty_ZRX INTERFACE ${INC_DIRS_Z})
target_link_directories(ThirdParty_ZRX INTERFACE ${LIB_DIRS_Z})
target_link_libraries(ThirdParty_ZRX INTERFACE ${ARX_LIBS_Z})
add_library(ThirdParty::ZRX ALIAS ThirdParty_ZRX)
add_library(ThirdParty_BitAnswer INTERFACE)
target_link_directories(ThirdParty_BitAnswer INTERFACE "${DEP_LIB_ROOT}/pub")
add_library(ThirdParty::BitAnswer ALIAS ThirdParty_BitAnswer)
add_library(ThirdParty_TG INTERFACE)
set(TG_SHS_INC "${CMAKE_SOURCE_DIR}/tg_shs/inc")
target_include_directories(ThirdParty_TG INTERFACE
"${TG_SHS_INC}"
"${TG_SHS_INC}/Acad"
"${TG_SHS_INC}/XImage"
"${TG_SHS_INC}/ADO"
"${TG_SHS_INC}/dbf"
"${TG_SHS_INC}/geo"
"${TG_SHS_INC}/subgeo"
"${TG_SHS_INC}/TArch"
"${TG_SHS_INC}/Mep"
"${TG_SHS_INC}/pipebase"
"${TG_SHS_INC}/pipewire"
"${TG_SHS_INC}/sqlite"
)
target_compile_definitions(ThirdParty_TG INTERFACE
CMAKE
ADS=${SDK_VERSION}
_AFXEXT
)
add_library(ThirdParty::TG ALIAS ThirdParty_TG)
add_library(ThirdParty_modernGlue INTERFACE)
target_link_libraries(ThirdParty_modernGlue INTERFACE
"$<$<CONFIG:Debug>:${DEP_LIB_ROOT}/modernGlue/debug/modernGlue.lib>"
"$<$<CONFIG:Release>:${DEP_LIB_ROOT}/modernGlue/release/modernGlue.lib>"
)
target_include_directories(ThirdParty_modernGlue INTERFACE "${DEP_INC_ROOT}/modernGlue")
add_library(ThirdParty::modernGlue ALIAS ThirdParty_modernGlue)