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(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) set(LLGL_BUILD_STATIC_LIB ON CACHE BOOL "Build LLGL as static library" 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 ()