mirror of
https://github.com/WinDurango/WinDurango.git
synced 2026-01-31 00:55:17 +01:00
feat: start on WinRT
This commit is contained in:
@@ -4,9 +4,11 @@ project(WinDurango)
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
add_subdirectory(projects/WinDurango.Common)
|
||||
add_subdirectory(projects/WinDurango.WinRT)
|
||||
add_subdirectory(projects/WinDurango.Kernel)
|
||||
|
||||
add_custom_target(WinDurango ALL DEPENDS
|
||||
WinDurango.Common
|
||||
WinDurango.WinRT
|
||||
WinDurango.Kernel
|
||||
)
|
||||
|
||||
@@ -14,7 +14,7 @@ target_include_directories(WinDurango.Kernel PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
)
|
||||
|
||||
target_link_libraries(WinDurango.Kernel PUBLIC WinDurango.Common)
|
||||
target_link_libraries(WinDurango.Kernel PUBLIC WinDurango.Common WinDurango.WinRT)
|
||||
|
||||
target_compile_definitions(WinDurango.Kernel PUBLIC
|
||||
WINDURANGO_KERNEL_COMPILER_NAME="${CMAKE_CXX_COMPILER_ID}"
|
||||
|
||||
37
projects/WinDurango.WinRT/CMakeLists.txt
Normal file
37
projects/WinDurango.WinRT/CMakeLists.txt
Normal file
@@ -0,0 +1,37 @@
|
||||
cmake_minimum_required(VERSION 4.0)
|
||||
project(WinDurango.WinRT VERSION 1.0.0)
|
||||
|
||||
set(VERSION_SUFFIX "-dev.0") # used for non-stable versions, otherwise blank
|
||||
|
||||
set(CMAKE_CXX_STANDARD 17)
|
||||
|
||||
set(FILES
|
||||
"include/WinDurango.WinRT/Storage/AbstractStorage.h"
|
||||
)
|
||||
|
||||
set(WINRT_USE_CROSS_PLATFORM OFF)
|
||||
|
||||
add_library(WinDurango.WinRT SHARED ${FILES})
|
||||
target_include_directories(WinDurango.WinRT PUBLIC
|
||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/include>
|
||||
)
|
||||
|
||||
target_link_libraries(WinDurango.WinRT PUBLIC WinDurango.Common)
|
||||
|
||||
target_compile_definitions(WinDurango.WinRT PUBLIC
|
||||
WINDURANGO_WINRT_COMPILER_NAME="${CMAKE_CXX_COMPILER_ID}"
|
||||
WINDURANGO_WINRT_PLATFORM_NAME="${CMAKE_SYSTEM_NAME}"
|
||||
WINDURANGO_WINRT_PLATFORM_ARCH="${CMAKE_SYSTEM_PROCESSOR}"
|
||||
WINDURANGO_WINRT_VERSION="${PROJECT_VERSION}${VERSION_SUFFIX}"
|
||||
WINDURANGO_WINRT_RC_VERSION=${PROJECT_VERSION_MAJOR},${PROJECT_VERSION_MINOR},${PROJECT_VERSION_PATCH}
|
||||
)
|
||||
|
||||
if (WINRT_USE_CROSS_PLATFORM STREQUAL ON)
|
||||
target_compile_definitions(WinDurango.WinRT PUBLIC
|
||||
WINRT_CROSS_PLATFORM)
|
||||
endif()
|
||||
unset(WINRT_USE_CROSS_PLATFORM CACHE)
|
||||
|
||||
set_target_properties(WinDurango.WinRT PROPERTIES LINKER_LANGUAGE CXX)
|
||||
# todo needed?
|
||||
#set_target_properties(WinDurango.WinRT PROPERTIES LIBRARY_OUTPUT_NAME "winrt")
|
||||
5
projects/WinDurango.WinRT/README.md
Normal file
5
projects/WinDurango.WinRT/README.md
Normal file
@@ -0,0 +1,5 @@
|
||||
# WinDurango.WinRT
|
||||
Impls for various WinRT classes, somewhat prioritizing crossplat
|
||||
|
||||
> [!IMPORTANT]
|
||||
> When instantiating our classes, check for WINRT_CROSS_PLATFORM to determine which to instantiate.
|
||||
@@ -0,0 +1,17 @@
|
||||
//
|
||||
// Created by DexrnZacAttack on 1/23/26 using zPc-i2.
|
||||
//
|
||||
#ifndef WINDURANGO_ABSTRACTSTORAGE_H
|
||||
#define WINDURANGO_ABSTRACTSTORAGE_H
|
||||
|
||||
namespace wd::winrt {
|
||||
/** Interface for storage management, to be impl'd for uwp and crossplat */
|
||||
class AbstractStorage {
|
||||
public:
|
||||
// todo can't make these static, what to do?
|
||||
virtual void CreateFile(std::filesystem::path path) = 0; // todo maybe return stream type, todo can we use this in uwp context??? I forgor
|
||||
virtual void CreateDirectory(std::filesystem::path path) = 0;
|
||||
};
|
||||
} // wd::winrt
|
||||
|
||||
#endif // WINDURANGO_ABSTRACTSTORAGE_H
|
||||
Reference in New Issue
Block a user