暂存文件
This commit is contained in:
@@ -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 中配置
|
||||
|
||||
|
||||
Reference in New Issue
Block a user