82 lines
2.8 KiB
CMake
82 lines
2.8 KiB
CMake
# 核心库 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}
|
|
)
|
|
|