cmake_minimum_required(VERSION 3.5)
project(QtAdvancedDockingSystem LANGUAGES CXX VERSION ${VERSION_SHORT})
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Core Gui Widgets REQUIRED)
if (UNIX AND NOT APPLE)
include_directories(${Qt${QT_VERSION_MAJOR}Gui_PRIVATE_INCLUDE_DIRS})
endif()
set(CMAKE_INCLUDE_CURRENT_DIR ON)
if(BUILD_STATIC)
set(CMAKE_STATIC_LIBRARY_SUFFIX "_static${CMAKE_STATIC_LIBRARY_SUFFIX}")
endif()
set(ads_SRCS
ads_globals.cpp
DockAreaTabBar.cpp
DockAreaTitleBar.cpp
DockAreaWidget.cpp
DockContainerWidget.cpp
DockManager.cpp
DockOverlay.cpp
DockSplitter.cpp
DockWidget.cpp
DockWidgetTab.cpp
DockingStateReader.cpp
DockFocusController.cpp
ElidingLabel.cpp
FloatingDockContainer.cpp
FloatingDragPreview.cpp
IconProvider.cpp
DockComponentsFactory.cpp
AutoHideSideBar.cpp
AutoHideTab.cpp
AutoHideDockContainer.cpp
PushButton.cpp
ResizeHandle.cpp
ads.qrc
)
set(ads_HEADERS
ads_globals.h
DockAreaTabBar.h
DockAreaTitleBar.h
DockAreaTitleBar_p.h
DockAreaWidget.h
DockContainerWidget.h
DockManager.h
DockOverlay.h
DockSplitter.h
DockWidget.h
DockWidgetTab.h
DockingStateReader.h
DockFocusController.h
ElidingLabel.h
FloatingDockContainer.h
FloatingDragPreview.h
IconProvider.h
DockComponentsFactory.h
AutoHideSideBar.h
AutoHideTab.h
AutoHideDockContainer.h
PushButton.h
ResizeHandle.h
)
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
if (UNIX AND NOT APPLE)
set(ads_SRCS linux/FloatingWidgetTitleBar.cpp ${ads_SRCS})
set(ads_HEADERS linux/FloatingWidgetTitleBar.h ${ads_HEADERS})
endif()
if(BUILD_STATIC)
add_library(qtadvanceddocking STATIC ${ads_SRCS} ${ads_HEADERS})
target_compile_definitions(qtadvanceddocking PUBLIC ADS_STATIC)
else()
add_library(qtadvanceddocking SHARED ${ads_SRCS} ${ads_HEADERS})
target_compile_definitions(qtadvanceddocking PRIVATE ADS_SHARED_EXPORT)
endif()
add_library(ads::qtadvanceddocking ALIAS qtadvanceddocking)
target_link_libraries(qtadvanceddocking PUBLIC Qt${QT_VERSION_MAJOR}::Core
Qt${QT_VERSION_MAJOR}::Gui
Qt${QT_VERSION_MAJOR}::Widgets)
if (UNIX AND NOT APPLE)
target_link_libraries(qtadvanceddocking PUBLIC xcb)
endif()
set_target_properties(qtadvanceddocking PROPERTIES
AUTOMOC ON
AUTORCC ON
CXX_EXTENSIONS OFF
VERSION ${VERSION_SHORT}
EXPORT_NAME "qtadvanceddocking"
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${ads_PlatformDir}/bin"
)
if(QT_VERSION_MAJOR STREQUAL "5")
set_target_properties(qtadvanceddocking PROPERTIES
CXX_STANDARD 14
CXX_STANDARD_REQUIRED ON)
elseif(QT_VERSION_MAJOR STREQUAL "6")
set_target_properties(qtadvanceddocking PROPERTIES
CXX_STANDARD 17
CXX_STANDARD_REQUIRED ON)
endif()
include(CMakePackageConfigHelpers)
write_basic_package_version_file(
"qtadvanceddockingConfigVersion.cmake"
VERSION ${VERSION_SHORT}
COMPATIBILITY SameMajorVersion
)
install(FILES ${ads_HEADERS}
DESTINATION include
COMPONENT headers
)
install(FILES
"${CMAKE_CURRENT_SOURCE_DIR}/../LICENSE"
"${CMAKE_CURRENT_SOURCE_DIR}/../gnu-lgpl-v2.1.md"
DESTINATION license/ads
COMPONENT license
)
install(TARGETS qtadvanceddocking
EXPORT adsTargets
RUNTIME DESTINATION bin
LIBRARY DESTINATION lib
ARCHIVE DESTINATION lib
INCLUDES DESTINATION include
)
install(EXPORT adsTargets
FILE adsTargets.cmake
NAMESPACE ads::
DESTINATION lib/cmake/qtadvanceddocking
)
install(FILES qtadvanceddockingConfig.cmake "${CMAKE_CURRENT_BINARY_DIR}/qtadvanceddockingConfigVersion.cmake"
DESTINATION lib/cmake/qtadvanceddocking
)
target_include_directories(qtadvanceddocking PUBLIC
$<INSTALL_INTERFACE:include>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
)
没有合适的资源?快使用搜索试试~ 我知道了~
qt Qt-Advanced-Docking-System 使用教程 示例代码
共81个文件
h:25个
cpp:25个
svg:14个
需积分: 5 24 下载量 126 浏览量
2023-02-24
11:19:15
上传
评论
收藏 10.83MB RAR 举报
温馨提示
qt Qt-Advanced-Docking-System 使用教程 示例代码
资源推荐
资源详情
资源评论
收起资源包目录
DoclProTest.rar (81个子文件)
DoclProTest
DockUse
DockUse.pro 964B
mainwindow.h 438B
mainwindow.cpp 1KB
main.cpp 183B
mainwindow.ui 558B
qtadvanceddockingd.dll 19.56MB
lib
DockUse.exe 1.16MB
qtadvanceddockingd.dll 19.56MB
src
stylesheets
default.css 9KB
default_linux.css 10KB
focus_highlighting.css 10KB
focus_highlighting_linux.css 12KB
DockAreaWidget.cpp 40KB
DockWidget.h 24KB
DockAreaTabBar.h 6KB
ResizeHandle.h 2KB
ElidingLabel.cpp 6KB
CMakeLists.txt 4KB
FloatingDragPreview.cpp 13KB
linux
FloatingWidgetTitleBar.h 3KB
FloatingWidgetTitleBar.cpp 9KB
ads.qrc 985B
ads_globals.cpp 12KB
FloatingDockContainer.h 9KB
AutoHideTab.cpp 7KB
AutoHideSideBar.h 5KB
DockManager.cpp 36KB
DockingStateReader.cpp 996B
DockContainerWidget.cpp 62KB
DockContainerWidget.h 12KB
DockComponentsFactory.cpp 2KB
PushButton.h 1KB
DockFocusController.h 3KB
DockWidgetTab.h 5KB
ResizeHandle.cpp 8KB
IconProvider.cpp 2KB
FloatingDragPreview.h 3KB
DockWidgetTab.cpp 23KB
PushButton.cpp 2KB
DockManager.h 28KB
DockAreaTitleBar.cpp 24KB
AutoHideDockContainer.h 5KB
FloatingDockContainer.cpp 40KB
AutoHideDockContainer.cpp 17KB
ads_globals.h 9KB
DockAreaTitleBar_p.h 3KB
DockOverlay.h 8KB
DockAreaTabBar.cpp 12KB
src.pro 2KB
DockOverlay.cpp 24KB
DockingStateReader.h 1KB
qtadvanceddockingConfig.cmake 87B
DockSplitter.cpp 3KB
DockAreaTitleBar.h 5KB
IconProvider.h 1KB
DockComponentsFactory.h 3KB
images
close-button.svg 5KB
detach-button-disabled.svg 6KB
pin-button.svg 2KB
close-button-focused.svg 5KB
vs-pin-button.svg 313B
maximize-button-focused.svg 4KB
restore-button.svg 4KB
vs-pin-button-pinned-focused.svg 336B
restore-button-focused.svg 4KB
close-button-disabled.svg 5KB
detach-button.svg 6KB
tabs-menu-button.svg 4KB
maximize-button.svg 4KB
vs-pin-button-pinned.svg 316B
AutoHideTab.h 4KB
AutoHideSideBar.cpp 10KB
ElidingLabel.h 3KB
DockSplitter.h 3KB
DockWidget.cpp 29KB
DockFocusController.cpp 11KB
DockAreaWidget.h 13KB
DoclProTest.pro.user 45KB
qtadvanceddockingd.dll 19.56MB
ads.pri 442B
DoclProTest.pro 74B
共 81 条
- 1
资源评论
muyiliu
- 粉丝: 702
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功