From b49663c490141b75605eafa381f6c9e2c736147d Mon Sep 17 00:00:00 2001
From: SineStriker <trueful@163.com>
Date: 周三, 13 12月 2023 20:54:09 +0800
Subject: [PATCH] Fix mac

---
 src/core/CMakeLists.txt |   54 ++++++++++++++++++++++++++++++++++++++++++------------
 1 files changed, 42 insertions(+), 12 deletions(-)

diff --git a/src/core/CMakeLists.txt b/src/core/CMakeLists.txt
index d5940f8..2123a05 100644
--- a/src/core/CMakeLists.txt
+++ b/src/core/CMakeLists.txt
@@ -5,44 +5,74 @@
 
 set(_src
     qwkcoreglobal.h
-    qwkcoreglobal_p.h
-    corewindowagent.h
-    corewindowagent_p.h
-    corewindowagent.cpp
-    windowitemdelegate.h
+    qwkglobal.h
+    qwkglobal_p.h
+    windowagentbase.h
+    windowagentbase_p.h
+    windowagentbase.cpp
+    windowitemdelegate_p.h
     windowitemdelegate.cpp
+    kernel/eventobserver_p.h
+    kernel/eventobserver.cpp
+    kernel/nativeeventfilter_p.h
+    kernel/nativeeventfilter.cpp
     contexts/abstractwindowcontext_p.h
     contexts/abstractwindowcontext.cpp
 )
+
+set(_defines_private)
+set(_links_private)
 
 if(WIN32)
     list(APPEND _src
         qwindowkit_windows.h
         qwindowkit_windows.cpp
-        contexts/win32windowcontext_p.h
-        contexts/win32windowcontext.cpp
+    )
+elseif(APPLE)
+    list(APPEND _links_private
+        "-framework Foundation"
+        "-framework Cocoa"
+        "-framework AppKit"
     )
 else()
+    list(APPEND _src
+        qwindowkit_linux.h
+    )
+endif()
+
+if(QWINDOWKIT_FORCE_QT_WINDOW_CONTEXT)
     list(APPEND _src
         contexts/qtwindowcontext_p.h
         contexts/qtwindowcontext.cpp
     )
-
-    if(APPLE)
-    # add files
+    list(APPEND _defines_private QWINDOWKIT_FORCE_QT_WINDOW_CONTEXT)
+else()
+    if(WIN32)
+        list(APPEND _src
+            contexts/win32windowcontext_p.h
+            contexts/win32windowcontext.cpp
+        )
+    elseif(APPLE)
+        list(APPEND _src
+            contexts/cocoawindowcontext_p.h
+            contexts/cocoawindowcontext.mm
+        )
     else()
         list(APPEND _src
-            qwindowkit_linux.h
+            contexts/qtwindowcontext_p.h
+            contexts/qtwindowcontext.cpp
         )
     endif()
 endif()
 
 qwk_add_library(${PROJECT_NAME} AUTOGEN
     SOURCES ${_src}
+    DEFINES_PRIVATE ${_defines_private}
     LINKS
+    LINKS_PRIVATE ${_links_private}
     QT_LINKS Core Gui
     QT_INCLUDE_PRIVATE Core Gui
-    INCLUDE_PRIVATE contexts
+    INCLUDE_PRIVATE kernel contexts platforms
     PREFIX QWK_CORE
 )
 

--
Gitblit v1.9.1