修复unix操作系统的mapped_file编译错误,修复CMakeList文件管理错误

This commit is contained in:
Nana 2025-02-09 23:08:30 +08:00
parent 278390564d
commit b6f91442bd
4 changed files with 17 additions and 10 deletions

View File

@ -17,7 +17,15 @@ function(is_current_platform platform is_match)
set(matches TRUE)
endif()
elseif(platform STREQUAL "mac")
if(APPLE)
if(APPLE AND NOT IOS)
set(matches TRUE)
endif()
elseif(platform STREQUAL "ios")
if(IOS)
set(matches TRUE)
endif()
elseif (platform STREQUAL "android")
if(ANDROID)
set(matches TRUE)
endif()
elseif(platform STREQUAL "mobile")
@ -25,7 +33,7 @@ function(is_current_platform platform is_match)
set(matches TRUE)
endif()
elseif(platform STREQUAL "desktop")
if(WIN32 OR (UNIX AND NOT APPLE))
if(WIN32 OR (UNIX AND NOT APPLE) OR (APPLE AND NOT IOS))
set(matches TRUE)
endif()
else()
@ -77,7 +85,7 @@ function(retrieve_files_custom path extension out_files)
foreach(dir_name IN LISTS dir_components)
#
if(dir_name MATCHES "^(windows|linux|mac|mobile|desktop)$")
if(dir_name MATCHES "^(windows|linux|mac|ios|android|mobile|desktop)$")
set(found_platform_dir TRUE)
is_current_platform(${dir_name} platform_matches)
if(NOT platform_matches)

View File

@ -1,19 +1,18 @@
project(mirage_core)
set(CMAKE_CXX_STANDARD 26)
find_package(harfbuzz REQUIRED)
find_package(HarfBuzz REQUIRED)
find_package(Eigen3 REQUIRED)
find_package(spdlog REQUIRED)
find_package(Boost REQUIRED)
find_package(Freetype REQUIRED)
find_package(Vulkan REQUIRED)
find_package(glfw3 REQUIRED)
set(RENDERER_SOURCES "")
retrieve_files(${CMAKE_CURRENT_SOURCE_DIR} RENDERER_SOURCES)
add_library(${PROJECT_NAME} STATIC ${RENDERER_SOURCES})
target_link_libraries(${PROJECT_NAME} PUBLIC Freetype::Freetype glfw harfbuzz Eigen3::Eigen spdlog::spdlog msdfgen-full Boost::boost Vulkan::Vulkan LLGL)
target_link_libraries(${PROJECT_NAME} PUBLIC Freetype::Freetype harfbuzz::harfbuzz Eigen3::Eigen spdlog::spdlog msdfgen-full Boost::boost Vulkan::Vulkan LLGL)
target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
target_compile_definitions(${PROJECT_NAME} PRIVATE NOMINMAX)
add_os_definitions(${PROJECT_NAME})

View File

@ -144,7 +144,7 @@ namespace mirage {
throw std::runtime_error("Failed to open file");
}
struct stat sb;
struct stat sb{};
if (fstat(fd, &sb) == -1) {
cleanup();
throw std::runtime_error("Failed to get file size");

View File

@ -5,10 +5,10 @@
#include <string>
#include <cstddef>
#ifdef _WIN32
#include <windows.h>
namespace mirage {
#if MIRAGE_PLATFORM_WINDOWS
#include <windows.h>
class mapped_file_win {
public:
mapped_file_win();