暂存文件

This commit is contained in:
huanglinhuan
2025-12-12 21:54:52 +08:00
parent 96fecf3c6f
commit 91ae52eeb3
13 changed files with 631 additions and 85 deletions

View File

@@ -1,35 +1,49 @@
cmake_minimum_required(VERSION 3.15)
project(DisplayFlow VERSION 1.0.0 LANGUAGES CXX)
# 设置 C++ 标准
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
# ============================================================================
# 项目配置
# ============================================================================
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # 生成 compile_commands.json用于 IDE
# 输出目录
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
# ============================================================================
# 包含 CMake 模块
# ============================================================================
list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
# 编译选项
if(MSVC)
add_compile_options(/W4 /WX-)
add_compile_definitions(_CRT_SECURE_NO_WARNINGS)
else()
add_compile_options(-Wall -Wextra -Wpedantic)
endif()
# 编译选项
include(CompilerOptions)
# 平台检测
if(ANDROID)
set(PLATFORM_ANDROID ON)
include(Android)
elseif(WIN32)
set(PLATFORM_WINDOWS ON)
include(Windows)
elseif(APPLE)
set(PLATFORM_MACOS ON)
elseif(UNIX)
set(PLATFORM_LINUX ON)
endif()
# ============================================================================
# 构建选项
# ============================================================================
option(BUILD_TESTS "Build tests" OFF)
option(BUILD_SHARED_LIBS "Build shared libraries" OFF)
option(ENABLE_VP8_CODEC "Enable VP8 codec support" OFF)
# ============================================================================
# 依赖管理
# ============================================================================
include(Dependencies)
# ============================================================================
# 测试框架
# ============================================================================
include(Testing)
# 添加子目录
add_subdirectory(core)
@@ -40,10 +54,5 @@ elseif(PLATFORM_WINDOWS)
add_subdirectory(platforms/windows)
endif()
# 添加测试(如果启用)
option(BUILD_TESTS "Build tests" OFF)
if(BUILD_TESTS)
enable_testing()
add_subdirectory(tests)
endif()
# 测试已在 Testing.cmake 中配置