README.md | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/install.cmake | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/msbuild/.gitkeep | 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/msbuild/QWindowKit.props.in | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/qmake/.gitkeep | 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/qmake/QWKCore.pri.in | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/qmake/QWKQuick.pri.in | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/qmake/QWKStyleSupport.pri.in | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
share/qmake/QWKWidgets.pri.in | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/CMakeLists.txt | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/quick/quickwindowagent_win.cpp | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
README.md
@@ -32,6 +32,50 @@ + [qmsetup](https://github.com/stdware/qmsetup) ## Integrate ### Build & Install ```sh cmake -B build \ -Dqmsetup_DIR=<dir> \ # Optional -DCMAKE_INSTALL_PREFIX=/path/install \ -G "Ninja Multi-Config" cmake --build build --target install --config Debug cmake --build build --target install --config Release ``` You can also include this directory as a sub-project if you choose CMake as your build system. For other build systems, you need to install with CMake first and include the corresponding configuration files in your project. ### Import #### CMake Project ```cmake cmake -B build -DQWindowKit_DIR=/path/install/cmake/QWindowKit ``` ```cmake find_package(QWindowKit REQUIRED) taraget_link_libraries(widgets_app PUBLIC QWindowKit::Widgets) taraget_link_libraries(quick_app PUBLIC QWindowKit::Quick) ``` #### QMake Project ```qmake # WidgetsApp.pro include("/path/install/share/QWindowKit/qmake/QWKWidgets.pri") # QuickApp.pro include("/path/install/share/QWindowKit/qmake/QWKQuick.pri") ``` #### Visual Studio Project TODO ## Quick Start ### Initialization @@ -41,7 +85,7 @@ ```c++ int main(int argc, char *argv[]) { #ifdef Q_OS_WINDOWS qApp->setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); QCoreApplication::setAttribute(Qt::AA_DontCreateNativeWidgetSiblings); #elif defined(Q_OS_MAC) # if QT_VERSION < QT_VERSION_CHECK(6, 0, 0) qputenv("QT_MAC_WANTS_LAYER", "1"); share/install.cmake
New file @@ -0,0 +1,86 @@ set(_build_data_dir ${CMAKE_CURRENT_BINARY_DIR}/../etc/share) # Install qmake files if(TRUE) set(_qmake_install_dir "${CMAKE_INSTALL_DATADIR}/QWindowKit/qmake") set(_qmake_build_dir ${_build_data_dir}/${_qmake_install_dir}) file(RELATIVE_PATH _qmake_install_prefix "${CMAKE_INSTALL_PREFIX}/${_qmake_install_dir}" "${CMAKE_INSTALL_PREFIX}" ) string(REGEX REPLACE "/$" "" _qmake_install_prefix "${_qmake_install_prefix}") set(QMAKE_QWK_INSTALL_PREFIX "\$\$PWD/${_qmake_install_prefix}") set(QMAKE_QWK_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR}) set(QMAKE_QWK_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}) set(QMAKE_QWK_INSTALL_INCDIR ${CMAKE_INSTALL_INCLUDEDIR}) set(QMAKE_QWK_CORE_NAME_RELEASE QWKCore) set(QMAKE_QWK_WIDGETS_NAME_RELEASE QWKWidgets) set(QMAKE_QWK_QUICK_NAME_RELEASE QWKQuick) set(QMAKE_QWK_STYLESUPPORT_NAME_RELEASE QWKStyleSupport) set(QMAKE_QWK_CORE_NAME_DEBUG QWKCore${CMAKE_DEBUG_POSTFIX}) set(QMAKE_QWK_WIDGETS_NAME_DEBUG QWKWidgets${CMAKE_DEBUG_POSTFIX}) set(QMAKE_QWK_QUICK_NAME_DEBUG QWKQuick${CMAKE_DEBUG_POSTFIX}) set(QMAKE_QWK_STYLESUPPORT_NAME_DEBUG QWKStyleSupport${CMAKE_DEBUG_POSTFIX}) file(GLOB _qmake_components "${CMAKE_CURRENT_LIST_DIR}/qmake/*.pri.in") foreach(_item IN LISTS _qmake_components) get_filename_component(_name ${_item} NAME_WLE) configure_file(${_item} ${_build_data_dir}/qmake/${_name} @ONLY) endforeach() install(DIRECTORY ${_build_data_dir}/qmake/ DESTINATION ${_qmake_install_dir} ) endif() # Install msbuild files if(MSVC) macro(to_dos_separator _var) string(REPLACE "/" "\\" ${_var} ${${_var}}) endmacro() set(_msbuild_install_dir "${CMAKE_INSTALL_DATADIR}/QWindowKit/msbuild") set(_msbuild_build_dir ${_build_data_dir}/${_msbuild_install_dir}) file(RELATIVE_PATH _msbuild_install_prefix "${CMAKE_INSTALL_PREFIX}/${_msbuild_install_dir}" "${CMAKE_INSTALL_PREFIX}" ) string(REGEX REPLACE "/$" "" _msbuild_install_prefix "${_msbuild_install_prefix}") set(MSBUILD_QWK_INSTALL_PREFIX "\$(MSBuildThisFileDirectory)${_msbuild_install_prefix}") set(MSBUILD_QWK_INSTALL_BINDIR ${CMAKE_INSTALL_BINDIR}) set(MSBUILD_QWK_INSTALL_LIBDIR ${CMAKE_INSTALL_LIBDIR}) set(MSBUILD_QWK_INSTALL_INCDIR ${CMAKE_INSTALL_INCLUDEDIR}) set(MSBUILD_QWK_LIBRARY_LIST_DEBUG QWKCore${CMAKE_DEBUG_POSTFIX}.lib QWKWidgets${CMAKE_DEBUG_POSTFIX}.lib QWKQuick${CMAKE_DEBUG_POSTFIX}.lib QWKStyleSupport${CMAKE_DEBUG_POSTFIX}.lib ) set(MSBUILD_QWK_LIBRARY_LIST_RELEASE QWKCore.lib QWKWidgets.lib QWKQuick.lib QWKStyleSupport.lib ) to_dos_separator(MSBUILD_QWK_INSTALL_PREFIX) to_dos_separator(MSBUILD_QWK_INSTALL_BINDIR) to_dos_separator(MSBUILD_QWK_INSTALL_LIBDIR) to_dos_separator(MSBUILD_QWK_INSTALL_INCDIR) configure_file(${CMAKE_CURRENT_LIST_DIR}/msbuild/QWindowKit.props.in ${_build_data_dir}/msbuild/QWindowKit.props @ONLY ) install(DIRECTORY ${_build_data_dir}/msbuild/ DESTINATION ${_msbuild_install_dir} ) endif() share/msbuild/.gitkeep
share/msbuild/QWindowKit.props.in
New file @@ -0,0 +1,18 @@ <?xml version="1.0" encoding="UTF-8"?> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <LibraryPath>@MSBUILD_QWK_INSTALL_PREFIX@\@MSBUILD_QWK_INSTALL_LIBDIR@;$(LibraryPath)</LibraryPath> </PropertyGroup> <PropertyGroup Label="QtSettings"> <QtHeaderSearchPath>@MSBUILD_QWK_INSTALL_PREFIX@\@MSBUILD_QWK_INSTALL_INCDIR@;$(QtHeaderSearchPath)</QtHeaderSearchPath> </PropertyGroup> <ItemDefinitionGroup> <ClCompile> <PreprocessorDefinitions>%(PreprocessorDefinitions)</PreprocessorDefinitions> </ClCompile> <Link> <AdditionalDependencies Condition="'$(Configuration)'=='Debug'">@MSBUILD_QWK_LIBRARY_LIST_DEBUG@;%(AdditionalDependencies);</AdditionalDependencies> <AdditionalDependencies Condition="'$(Configuration)'=='Release'">@MSBUILD_QWK_LIBRARY_LIST_RELEASE@;%(AdditionalDependencies);</AdditionalDependencies> </Link> </ItemDefinitionGroup> </Project> share/qmake/.gitkeep
share/qmake/QWKCore.pri.in
New file @@ -0,0 +1,23 @@ !defined(QMAKE_QWK_CORE_INCLUDED, var) { QMAKE_QWK_CORE_INCLUDED = 1 # CMake variables QMAKE_QWK_INSTALL_PREFIX = @QMAKE_QWK_INSTALL_PREFIX@ QMAKE_QWK_INSTALL_BINDIR = @QMAKE_QWK_INSTALL_BINDIR@ QMAKE_QWK_INSTALL_LIBDIR = @QMAKE_QWK_INSTALL_LIBDIR@ QMAKE_QWK_INSTALL_INCDIR = @QMAKE_QWK_INSTALL_INCDIR@ # Shared include directory INCLUDEPATH += \ $$QMAKE_QWK_INSTALL_PREFIX/$$QMAKE_QWK_INSTALL_INCDIR/QWindowKit # Shared link directory LIBS += \ "-L$$QMAKE_QWK_INSTALL_PREFIX/$$QMAKE_QWK_INSTALL_LIBDIR" CONFIG(debug, debug|release) { LIBS += -l@QMAKE_QWK_CORE_NAME_DEBUG@ } else { LIBS += -l@QMAKE_QWK_CORE_NAME_RELEASE@ } } share/qmake/QWKQuick.pri.in
New file @@ -0,0 +1,11 @@ !defined(QMAKE_QWK_QUICK_INCLUDED, var) { QMAKE_QWK_QUICK_INCLUDED = 1 include($$PWD/QWKCore.pri) CONFIG(debug, debug|release) { LIBS += -l@QMAKE_QWK_QUICK_NAME_DEBUG@ } else { LIBS += -l@QMAKE_QWK_QUICK_NAME_RELEASE@ } } share/qmake/QWKStyleSupport.pri.in
New file @@ -0,0 +1,11 @@ !defined(QMAKE_QWK_STYLESUPPORT_INCLUDED, var) { QMAKE_QWK_STYLESUPPORT_INCLUDED = 1 include($$PWD/QWKCore.pri) CONFIG(debug, debug|release) { LIBS += -l@QMAKE_QWK_STYLESUPPORT_NAME_DEBUG@ } else { LIBS += -l@QMAKE_QWK_STYLESUPPORT_NAME_RELEASE@ } } share/qmake/QWKWidgets.pri.in
New file @@ -0,0 +1,11 @@ !defined(QMAKE_QWK_WIDGETS_INCLUDED, var) { QMAKE_QWK_WIDGETS_INCLUDED = 1 include($$PWD/QWKCore.pri) CONFIG(debug, debug|release) { LIBS += -l@QMAKE_QWK_WIDGETS_NAME_DEBUG@ } else { LIBS += -l@QMAKE_QWK_WIDGETS_NAME_RELEASE@ } } src/CMakeLists.txt
@@ -208,7 +208,5 @@ ) # Install shared files install(DIRECTORY ../share/ DESTINATION share/${QWINDOWKIT_INSTALL_NAME} ) include("../share/install.cmake") endif() src/quick/quickwindowagent_win.cpp
@@ -8,7 +8,6 @@ namespace QWK { class BorderItem : public QQuickPaintedItem, public NativeEventFilter { Q_OBJECT public: explicit BorderItem(QQuickItem *parent, AbstractWindowContext *context); ~BorderItem() override; @@ -120,5 +119,3 @@ } } #include "quickwindowagent_win.moc"