mirage/src/CMakeLists.txt
2025-03-16 00:39:40 +08:00

32 lines
951 B
CMake

cmake_minimum_required(VERSION 3.15)
project(mirage_core LANGUAGES C CXX)
set(CMAKE_CXX_STANDARD 26)
if (MSVC)
# MSVC编译器设置C++标准
add_compile_options(/std:c++latest)
# 设置utf-8编码
add_compile_options(/utf-8)
endif ()
find_package(Freetype REQUIRED)
find_package(Eigen3 REQUIRED)
set(SRC_FILES)
retrieve_files(${CMAKE_CURRENT_SOURCE_DIR} SRC_FILES)
add_library(${PROJECT_NAME} STATIC ${SRC_FILES})
target_link_libraries(${PROJECT_NAME} PUBLIC Freetype::Freetype Eigen3::Eigen)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
add_os_definitions(${PROJECT_NAME})
# 添加编译shader的自定义命令
add_mirage_shader_directory(${CMAKE_CURRENT_SOURCE_DIR}/shaders)
add_shader_dependencies(${PROJECT_NAME})
if (WIN32)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DSOKOL_D3D11)
elseif (UNIX)
target_compile_definitions(${PROJECT_NAME} PUBLIC -DSOKOL_GLCORE33)
endif ()