58 lines
1.8 KiB
CMake
58 lines
1.8 KiB
CMake
cmake_minimum_required(VERSION 3.5)
|
|
SET(VERSION_SHORT 0.1)
|
|
project(WidgetWithRibbon VERSION ${VERSION_SHORT})
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
# 显示定义FRAMELESSHELPER_FEATURE_static_build为-1 否则库引用会失败
|
|
add_definitions(-DFRAMELESSHELPER_FEATURE_static_build=-1)
|
|
# qt库加载,最低要求5.9
|
|
find_package(QT NAMES Qt6 Qt5 COMPONENTS Core REQUIRED)
|
|
find_package(Qt${QT_VERSION_MAJOR} 5.9 COMPONENTS Core Gui Widgets REQUIRED)
|
|
|
|
add_executable(WidgetWithRibbon WIN32
|
|
RibbonWidget.h
|
|
RibbonWidget.cpp
|
|
MainWidget.h
|
|
MainWidget.cpp
|
|
MainWidget.ui
|
|
InnerWidget.h
|
|
InnerWidget.cpp
|
|
InnerWidget.ui
|
|
main.cpp
|
|
icon.qrc
|
|
)
|
|
|
|
|
|
if(NOT TARGET SARibbonBar)
|
|
# 说明这个例子是单独加载
|
|
message(STATUS "NOT TARGET SARibbonBar find_package(SARibbonBar REQUIRED)")
|
|
find_package(SARibbonBar REQUIRED)
|
|
endif()
|
|
|
|
target_link_libraries(WidgetWithRibbon PUBLIC SARibbonBar::SARibbonBar)
|
|
target_link_libraries(WidgetWithRibbon PUBLIC
|
|
Qt${QT_VERSION_MAJOR}::Core
|
|
Qt${QT_VERSION_MAJOR}::Gui
|
|
Qt${QT_VERSION_MAJOR}::Widgets
|
|
)
|
|
|
|
include(GNUInstallDirs)
|
|
|
|
set_target_properties(WidgetWithRibbon PROPERTIES
|
|
AUTOMOC ON
|
|
AUTORCC ON
|
|
AUTOUIC ON
|
|
CXX_EXTENSIONS OFF
|
|
DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX}
|
|
VERSION ${SARIBBON_VERSION}
|
|
EXPORT_NAME WidgetWithRibbon
|
|
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}"
|
|
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}"
|
|
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}"
|
|
)
|
|
|
|
install(TARGETS WidgetWithRibbon
|
|
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
LIBRARY DESTINATION ${CMAKE_INSTALL_BINDIR}
|
|
ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
|
|
)
|