mirage/CMakeLists.txt

68 lines
1.9 KiB
CMake
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#
# project: mirage
#
cmake_minimum_required(VERSION 3.21)
project(mirage)
set(CMAKE_CXX_STANDARD 26)
if (MSVC)
# MSVC编译器设置C++标准
add_compile_options(/std:c++latest)
# 设置utf-8编码
add_compile_options(/utf-8)
endif ()
if (WIN32)
# 定义Windows版本宏
# add_definitions(-DWIN32_LEAN_AND_MEAN)
add_definitions(-DUNICODE -D_UNICODE)
endif ()
set(MIRAGE_USE_HDR OFF CACHE BOOL "Enable HDR format")
set(MIRAGE_HDR_FORMAT "SG_PIXELFORMAT_RGBA16F" CACHE STRING "Enable HDR format")
set(MIRAGE_PIXEL_FORMAT "SG_PIXELFORMAT_RGBA8" CACHE STRING "Pixel format")
if (MIRAGE_USE_HDR)
add_definitions(-DMIRAGE_USE_HDR=1)
else ()
add_definitions(-DMIRAGE_USE_HDR=0)
endif ()
add_definitions(-DMIRAGE_HDR_FORMAT=${MIRAGE_HDR_FORMAT} -DMIRAGE_PIXEL_FORMAT=${MIRAGE_PIXEL_FORMAT})
include(cmake/retrieve_files.cmake)
include(cmake/detect_os.cmake)
include(cmake/config_macos.cmake)
include(cmake/compile_shaders.cmake)
include(cmake/mingw_dll.cmake)
include(cmake/mirage_utils.cmake)
# 配置输出目录
configure_project_defaults()
# --- 设置项目根目录变量 ---
# **定义项目源代码根目录变量**:
# CMAKE_CURRENT_SOURCE_DIR 在根 CMakeLists.txt 中即为项目源代码的根目录
# 使用 PARENT_SCOPE 使该变量在调用此函数的 CMakeLists.txt 文件中也可用
set(MIRAGE_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR})
message(STATUS "mirage 项目根源目录 MIRAGE_ROOT_DIR 设置为: ${MIRAGE_ROOT_DIR}")
# 如果是Debug模式, 添加宏定义
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DDEBUG=1)
else ()
add_definitions(-DDEBUG=0)
endif ()
add_subdirectory(src/sokol)
add_subdirectory(src/mirage_render)
add_subdirectory(src/mirage_image)
add_subdirectory(src/mirage_core)
add_subdirectory(src/mirage_widget)
add_subdirectory(src/mirage_app)
set(BUILD_EXAMPLE FALSE CACHE BOOL "Build example")
if (BUILD_EXAMPLE)
add_subdirectory(example)
endif ()