aorii/CMakeLists.txt
2025-02-06 18:52:52 +08:00

55 lines
1.6 KiB
CMake

cmake_minimum_required(VERSION 3.15)
cmake_policy(SET CMP0167 NEW)
project(aorii LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 26)
if (APPLE)
enable_language(OBJC OBJCXX)
endif ()
# 设置全局着色器输出目录
set(SHADER_OUTPUT_DIR "${CMAKE_BINARY_DIR}/shaders" CACHE PATH "着色器编译输出路径")
# 设置全局着色器路径列表
set(SHADER_SOURCE_DIRS "" CACHE STRING "着色器源文件路径列表")
mark_as_advanced(SHADER_OUTPUT_DIR)
set(MSDFGEN_USE_SKIA OFF CACHE BOOL "Use Skia for MSDFGen" FORCE)
set(MSDFGEN_USE_VCPKG OFF CACHE BOOL "Use VCPKG for MSDFGen" FORCE)
set(MSDFGEN_USE_OPENMP ON CACHE BOOL "Use OpenMP for MSDFGen" FORCE)
include(cmake/retrieve_files.cmake)
include(cmake/detect_os.cmake)
include(cmake/configure_glfw_native.cmake)
include(cmake/compile_shaders.cmake)
# 如果是Macos
if (APPLE)
# 获取 Homebrew 安装的 libomp 路径
execute_process(
COMMAND brew --prefix libomp
OUTPUT_VARIABLE HOMEBREW_LIBOMP_PATH
OUTPUT_STRIP_TRAILING_WHITESPACE
)
# 设置 OpenMP 路径变量
set(OpenMP_CXX_FLAGS "-Xpreprocessor -fopenmp -I${HOMEBREW_LIBOMP_PATH}/include")
set(OpenMP_CXX_LIB_NAMES "omp")
set(OpenMP_omp_LIBRARY "${HOMEBREW_LIBOMP_PATH}/lib/libomp.dylib")
endif ()
# 如果是Debug模式, 添加宏定义
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
add_definitions(-DDEBUG=1)
else ()
add_definitions(-DDEBUG=0)
endif ()
add_subdirectory(third_party/msdfgen)
add_subdirectory(src/core)
add_subdirectory(src/widget)
set(BUILD_EXAMPLE FALSE CACHE BOOL "Build example")
if (BUILD_EXAMPLE)
add_subdirectory(example)
endif ()