diff options
author | crupest <crupest@outlook.com> | 2022-01-25 17:30:46 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-01-25 17:30:46 +0800 |
commit | 2ed65999ef6f3e1156427dd3efe04353ae657882 (patch) | |
tree | 1c6618099e42887e96351c87cc8ce6b7c61b01f7 /src | |
parent | a77fb1aaa4aa765ae51b3cb5a1f8d9c8c233b01a (diff) | |
download | cru-2ed65999ef6f3e1156427dd3efe04353ae657882.tar.gz cru-2ed65999ef6f3e1156427dd3efe04353ae657882.tar.bz2 cru-2ed65999ef6f3e1156427dd3efe04353ae657882.zip |
...
Diffstat (limited to 'src')
-rw-r--r-- | src/common/CMakeLists.txt | 13 | ||||
-rw-r--r-- | src/common/io/Resource.cpp | 20 | ||||
-rw-r--r-- | src/common/platform/Exception.cpp | 1 | ||||
-rw-r--r-- | src/common/platform/osx/Convert.cpp (renamed from src/osx/Convert.cpp) | 6 | ||||
-rw-r--r-- | src/common/platform/osx/Exception.cpp | 1 | ||||
-rw-r--r-- | src/common/platform/win/Exception.cpp (renamed from src/win/Exception.cpp) | 2 | ||||
-rw-r--r-- | src/osx/CMakeLists.txt | 2 | ||||
-rw-r--r-- | src/osx/Exception.cpp | 1 | ||||
-rw-r--r-- | src/win/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/win/HeapDebug.cpp | 9 |
10 files changed, 37 insertions, 21 deletions
diff --git a/src/common/CMakeLists.txt b/src/common/CMakeLists.txt index d8462abf..0316d9e6 100644 --- a/src/common/CMakeLists.txt +++ b/src/common/CMakeLists.txt @@ -7,7 +7,9 @@ add_library(cru_base SHARED String.cpp StringUtil.cpp io/Stream.cpp + io/Resource.cpp io/MemoryStream.cpp + platform/Exception.cpp ) target_compile_definitions(cru_base PRIVATE CRU_BASE_EXPORT_API) target_include_directories(cru_base PUBLIC ${CRU_INCLUDE_DIR}) @@ -20,9 +22,20 @@ if (UNIX) ) endif() +if (APPLE) + find_library(CORE_FOUNDATION CoreFoundation REQUIRED) + target_link_libraries(cru_base PUBLIC ${CORE_FOUNDATION}) + + target_sources(cru_base PRIVATE + platform/osx/Convert.cpp + platform/osx/Exception.cpp + ) +endif() + if (WIN32) target_sources(cru_base PRIVATE io/Win32FileStream.cpp + platform/win/Exception.cpp ) endif() diff --git a/src/common/io/Resource.cpp b/src/common/io/Resource.cpp new file mode 100644 index 00000000..e2ff8004 --- /dev/null +++ b/src/common/io/Resource.cpp @@ -0,0 +1,20 @@ +#include "cru/common/io/Resource.hpp" +#include "cru/common/Exception.hpp" + +#if defined(CRU_PLATFORM_OSX) +#include <CoreFoundation/CoreFoundation.h> +#elif defined(CRU_PLATFORM_WINDOWS) +#endif + +namespace cru::io { +std::unique_ptr<Stream> CreateStreamFromResourcePath(const String& path) { +#if defined(CRU_PLATFORM_OSX) + // CFBundleRef main_bundle = CFBundleGetMainBundle(); + throw Exception(u"Not implemented."); +#elif defined(CRU_PLATFORM_WINDOWS) + throw Exception(u"Not implemented."); +#else + throw Exception(u"Not implemented."); +#endif +} +} // namespace cru::io diff --git a/src/common/platform/Exception.cpp b/src/common/platform/Exception.cpp new file mode 100644 index 00000000..c13c8b1e --- /dev/null +++ b/src/common/platform/Exception.cpp @@ -0,0 +1 @@ +#include "cru/common/platform/Exception.hpp" diff --git a/src/osx/Convert.cpp b/src/common/platform/osx/Convert.cpp index 6e9692f2..e5105698 100644 --- a/src/osx/Convert.cpp +++ b/src/common/platform/osx/Convert.cpp @@ -1,8 +1,4 @@ -#include "cru/osx/Convert.hpp" - -#include "cru/common/StringUtil.hpp" - -#include <string> +#include "cru/common/platform/osx/Convert.hpp" namespace cru::platform::osx { CFStringRef Convert(const String& string) { diff --git a/src/common/platform/osx/Exception.cpp b/src/common/platform/osx/Exception.cpp new file mode 100644 index 00000000..b02fd458 --- /dev/null +++ b/src/common/platform/osx/Exception.cpp @@ -0,0 +1 @@ +#include "cru/common/platform//osx/Exception.hpp" diff --git a/src/win/Exception.cpp b/src/common/platform/win/Exception.cpp index fb46f184..34ae8955 100644 --- a/src/win/Exception.cpp +++ b/src/common/platform/win/Exception.cpp @@ -1,4 +1,4 @@ -#include "cru/win/Exception.hpp" +#include "cru/common/platform/win/Exception.hpp" #include "cru/common/Format.hpp" #include <optional> diff --git a/src/osx/CMakeLists.txt b/src/osx/CMakeLists.txt index 7f6a7538..ad591478 100644 --- a/src/osx/CMakeLists.txt +++ b/src/osx/CMakeLists.txt @@ -1,6 +1,4 @@ add_library(cru_osx_base SHARED - Convert.cpp - Exception.cpp Resource.cpp ) diff --git a/src/osx/Exception.cpp b/src/osx/Exception.cpp deleted file mode 100644 index c7eef64b..00000000 --- a/src/osx/Exception.cpp +++ /dev/null @@ -1 +0,0 @@ -#include "cru/osx/Exception.hpp" diff --git a/src/win/CMakeLists.txt b/src/win/CMakeLists.txt index fe2cd635..e190e9a0 100644 --- a/src/win/CMakeLists.txt +++ b/src/win/CMakeLists.txt @@ -1,9 +1,6 @@ add_library(cru_win_base STATIC DebugLogger.hpp StdOutLogger.hpp - - Exception.cpp - HeapDebug.cpp ) target_compile_definitions(cru_win_base PUBLIC UNICODE _UNICODE) # use unicode target_link_libraries(cru_win_base PUBLIC cru_base) diff --git a/src/win/HeapDebug.cpp b/src/win/HeapDebug.cpp deleted file mode 100644 index b1b9fe1a..00000000 --- a/src/win/HeapDebug.cpp +++ /dev/null @@ -1,9 +0,0 @@ -#include "cru/win/WinPreConfig.hpp" - -#include <crtdbg.h> - -namespace cru::platform { -void SetupHeapDebug() { - _CrtSetDbgFlag(_CRTDBG_ALLOC_MEM_DF | _CRTDBG_LEAK_CHECK_DF); -} -} // namespace cru::platform |