# 核心库 CMakeLists.txt cmake_minimum_required(VERSION 3.15) # 核心库源文件 set(CORE_SOURCES src/network/network_manager.cpp src/network/network_interface.cpp src/network/nat_traversal/stun_client.cpp src/network/nat_traversal/turn_client.cpp src/network/nat_traversal/ice_agent.cpp src/network/nat_traversal/candidate.cpp src/network/nat_traversal/nat_type.cpp src/protocol/protocol_handler.cpp src/protocol/message_serializer.cpp src/session/session_manager.cpp src/session/session.cpp src/codec/codec_manager.cpp src/codec/codec_interface.cpp src/role/role_manager.cpp src/role/host_role.cpp src/role/client_role.cpp src/role/peer_role.cpp src/file_transfer/file_transfer_manager.cpp src/file_transfer/file_transfer_session.cpp src/utils/logger.cpp src/utils/timer.cpp ) # 核心库头文件 set(CORE_HEADERS include/displayflow/core/network/network_manager.h include/displayflow/core/network/network_interface.h include/displayflow/core/network/nat_traversal/stun_client.h include/displayflow/core/network/nat_traversal/turn_client.h include/displayflow/core/network/nat_traversal/ice_agent.h include/displayflow/core/network/nat_traversal/candidate.h include/displayflow/core/network/nat_traversal/nat_type.h include/displayflow/core/protocol/protocol_handler.h include/displayflow/core/protocol/message_serializer.h include/displayflow/core/session/session_manager.h include/displayflow/core/session/session.h include/displayflow/core/codec/codec_manager.h include/displayflow/core/codec/codec_interface.h include/displayflow/core/role/role_manager.h include/displayflow/core/role/host_role.h include/displayflow/core/role/client_role.h include/displayflow/core/role/peer_role.h include/displayflow/core/role/role_interface.h include/displayflow/core/file_transfer/file_transfer_manager.h include/displayflow/core/file_transfer/file_transfer_session.h include/displayflow/core/file_transfer/file_chunk.h include/displayflow/core/file_transfer/transfer_progress.h include/displayflow/core/utils/logger.h include/displayflow/core/utils/timer.h include/displayflow/core/common/types.h include/displayflow/core/common/constants.h ) # 创建核心库 add_library(displayflow_core STATIC ${CORE_SOURCES} ${CORE_HEADERS} ) # 包含目录 target_include_directories(displayflow_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include ${CMAKE_CURRENT_SOURCE_DIR}/../third_party/flatbuffers/include ) # 链接库(根据实际依赖调整) # target_link_libraries(displayflow_core # flatbuffers # ) # 编译定义 target_compile_definitions(displayflow_core PUBLIC DISPLAYFLOW_CORE_VERSION_MAJOR=${PROJECT_VERSION_MAJOR} DISPLAYFLOW_CORE_VERSION_MINOR=${PROJECT_VERSION_MINOR} )