Mercurial > minori
changeset 179:9c4645100fec
osx: clean up includes, we do not need cocoa
what we *do* need is the very basics that animia already depends on anyway.
these are basically guaranteed to be on any macos system, making it fairly portable
now... I haven't tested this :) I don't have a macos machine right now...
author | Paper <mrpapersonic@gmail.com> |
---|---|
date | Mon, 04 Dec 2023 12:03:36 -0500 |
parents | bc8d2ccff09c |
children | 5be17d636aee |
files | CMakeLists.txt src/sys/osx/dark_theme.mm src/sys/osx/filesystem.mm |
diffstat | 3 files changed, 15 insertions(+), 6 deletions(-) [+] |
line wrap: on
line diff
--- a/CMakeLists.txt Mon Dec 04 11:51:30 2023 -0500 +++ b/CMakeLists.txt Mon Dec 04 12:03:36 2023 -0500 @@ -43,8 +43,9 @@ # We need Cocoa for some OS X stuff if(APPLE) - find_library(COCOA_LIBRARY Cocoa) - list(APPEND LIBRARIES ${COCOA_LIBRARY}) + find_library(FOUNDATION_LIBRARY Foundation) + find_library(APPKIT_LIBRARY AppKit) + list(APPEND LIBRARIES ${FOUNDATION_LIBRARY} ${APPKIT_LIBRARY}) endif() set(SRC_FILES
--- a/src/sys/osx/dark_theme.mm Mon Dec 04 11:51:30 2023 -0500 +++ b/src/sys/osx/dark_theme.mm Mon Dec 04 12:03:36 2023 -0500 @@ -1,10 +1,12 @@ #include "sys/osx/dark_theme.h" -#import <Cocoa/Cocoa.h> + +#import <AppKit/AppKit.h> namespace osx { /* I remember clang giving a hissy fit when I tried simplifying this to just - a return; does it still do that? */ + * a return; does it still do that? +*/ bool DarkThemeAvailable() { if (@available(macOS 10.14, *)) return true;
--- a/src/sys/osx/filesystem.mm Mon Dec 04 11:51:30 2023 -0500 +++ b/src/sys/osx/filesystem.mm Mon Dec 04 12:03:36 2023 -0500 @@ -1,11 +1,17 @@ -#include <Cocoa/Cocoa.h> +#include "sys/osx/filesystem.h" + #include <string> +#import <Foundation/Foundation.h> + namespace osx { std::string GetApplicationSupportDirectory() { NSArray* strings = NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, true); - return std::string([[strings objectAtIndex:0] UTF8String]); + if (!strings || [strings count] < 1) + return ""; // ack + + return [[strings objectAtIndex:0] UTF8String]; } } // namespace osx