From bc6e2a4231d73d6e037340af9e73f2611649faa8 Mon Sep 17 00:00:00 2001 From: SineStriker <trueful@163.com> Date: ćšć, 09 5æ 2024 01:15:21 +0800 Subject: [PATCH] Optimize event filter forwarding --- CMakeLists.txt | 47 ++++++++++++++++++++++++++++++++++++++++++----- 1 files changed, 42 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 11bfc38..6f2fe3e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,17 +1,45 @@ -cmake_minimum_required(VERSION 3.17) +cmake_minimum_required(VERSION 3.19) -project(QWindowKit VERSION 0.0.1.1 LANGUAGES CXX) +project(QWindowKit VERSION 1.1.1.0 LANGUAGES CXX) # ---------------------------------- # Build Options # ---------------------------------- option(QWINDOWKIT_BUILD_STATIC "Build static libraries" OFF) option(QWINDOWKIT_BUILD_WIDGETS "Build widgets module" ON) -option(QWINDOWKIT_BUILD_QUICK "Build quick module" ON) -option(QWINDOWKIT_BUILD_STYLE_SUPPORT "Build style support module" ON) +option(QWINDOWKIT_BUILD_QUICK "Build quick module" OFF) option(QWINDOWKIT_BUILD_EXAMPLES "Build examples" OFF) option(QWINDOWKIT_BUILD_DOCUMENTATIONS "Build documentations" OFF) option(QWINDOWKIT_INSTALL "Install library" ON) + +option(QWINDOWKIT_ENABLE_QT_WINDOW_CONTEXT "Enable Qt Window Context anyway" OFF) +option(QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS "Enable system borders on Windows" ON) +option(QWINDOWKIT_ENABLE_STYLE_AGENT "Enable building style agent" ON) + +#[[ + +Detailed Introcuction to Configure Options: + +`QWINDOWKIT_BUILD_DOCUMENTATIONS` + - If you have installed `Doxygen`, you can ENABLE this option so that the documentations + will also be built and installed. + - If not, you can read the comments in `qdoc` style in `cpp` files to get detailed usages + of the public APIs. + +`QWINDOWKIT_ENABLE_WINDOWS_SYSTEM_BORDERS` + - If you don't want the system borders on Windows 10/11, you can DISABLE this option. + - If so, the Windows 10 top border issue will disappear. However, part of the client edge + area will be occupied as the resizing margins. + +`QWINDOWKIT_ENABLE_QT_WINDOW_CONTEXT` + - If you want to use pure Qt emulated frameless implementation, you can ENABLE this option. + - If so, all system native features will be lost. + +`QWINDOWKIT_ENABLE_STYLE_AGENT` + - Select whether to exclude the style component by DISABLING this option according to your + requirements and your Qt version. + +#]] # ---------------------------------- # CMake Settings @@ -25,6 +53,9 @@ if(NOT DEFINED CMAKE_DEBUG_POSTFIX) set(CMAKE_DEBUG_POSTFIX "d") endif() +elseif(MINGW) + set(CMAKE_STATIC_LIBRARY_PREFIX "") + set(CMAKE_SHARED_LIBRARY_PREFIX "") endif() if(QWINDOWKIT_INSTALL) @@ -39,7 +70,7 @@ set(QWINDOWKIT_INSTALL_NAME ${PROJECT_NAME}) # ---------------------------------- -# Main Project +# Find basic dependencies # ---------------------------------- find_package(qmsetup QUIET) @@ -65,6 +96,12 @@ set(qmsetup_DIR ${_package_path} CACHE PATH "" FORCE) endif() +qm_import(Filesystem) +qm_init_directories() + +# ---------------------------------- +# Add source modules +# ---------------------------------- add_subdirectory(src) if(QWINDOWKIT_BUILD_EXAMPLES) -- Gitblit v1.9.1