project(QWKCore VERSION ${QWINDOWKIT_VERSION} LANGUAGES CXX ) set(_src qwkglobal.h qwkglobal_p.h windowagentbase.h windowagentbase_p.h windowagentbase.cpp windowitemdelegate_p.h windowitemdelegate.cpp kernel/nativeeventfilter_p.h kernel/nativeeventfilter.cpp kernel/sharedeventfilter_p.h kernel/sharedeventfilter.cpp shared/systemwindow_p.h contexts/abstractwindowcontext_p.h contexts/abstractwindowcontext.cpp ) set(_links_private) if(WIN32) list(APPEND _src qwindowkit_windows.h qwindowkit_windows.cpp shared/qwkwindowsextra_p.h ) elseif(APPLE) else() list(APPEND _src qwindowkit_linux.h ) endif() if(QWINDOWKIT_ENABLE_QT_WINDOW_CONTEXT) list(APPEND _src contexts/qtwindowcontext_p.h contexts/qtwindowcontext.cpp ) else() if(WIN32) list(APPEND _src contexts/win32windowcontext_p.h contexts/win32windowcontext.cpp ) list(APPEND _links_private uxtheme) elseif(APPLE) list(APPEND _src contexts/cocoawindowcontext_p.h contexts/cocoawindowcontext.mm ) list(APPEND _links_private "-framework Foundation" "-framework Cocoa" "-framework AppKit" ) else() list(APPEND _src contexts/qtwindowcontext_p.h contexts/qtwindowcontext.cpp ) endif() endif() if(QWINDOWKIT_ENABLE_STYLE_AGENT) list(APPEND _src style/styleagent.h style/styleagent_p.h style/styleagent.cpp ) if(WIN32) list(APPEND _src style/styleagent_win.cpp) elseif(APPLE) list(APPEND _src style/styleagent_mac.mm) else() list(APPEND _src style/styleagent_linux.cpp) endif() endif() qwk_add_library(${PROJECT_NAME} AUTOGEN SOURCES ${_src} LINKS LINKS_PRIVATE ${_links_private} QT_LINKS Core Gui QT_INCLUDE_PRIVATE Core Gui INCLUDE_PRIVATE kernel contexts shared PREFIX QWK_CORE ) set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 17 CXX_STANDARD_REQUIRED TRUE ) set(QWINDOWKIT_ENABLED_TARGETS ${QWINDOWKIT_ENABLED_TARGETS} ${PROJECT_NAME} PARENT_SCOPE) set(QWINDOWKIT_ENABLED_SUBDIRECTORIES ${QWINDOWKIT_ENABLED_SUBDIRECTORIES} core PARENT_SCOPE)