Add CMake project files for the examples
Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
parent
44ed5fcf3d
commit
8b3da2d31a
|
@ -2,6 +2,8 @@ cmake_minimum_required(VERSION 3.18)
|
||||||
|
|
||||||
project(FramelessHelper LANGUAGES CXX)
|
project(FramelessHelper LANGUAGES CXX)
|
||||||
|
|
||||||
|
option(BUILD_EXAMPLES "Build examples." ON)
|
||||||
|
|
||||||
set(CMAKE_CXX_STANDARD 17)
|
set(CMAKE_CXX_STANDARD 17)
|
||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
@ -12,10 +14,24 @@ set(CMAKE_AUTOUIC ON)
|
||||||
set(CMAKE_AUTOMOC ON)
|
set(CMAKE_AUTOMOC ON)
|
||||||
set(CMAKE_AUTORCC ON)
|
set(CMAKE_AUTORCC ON)
|
||||||
|
|
||||||
if(WIN32)
|
if(NOT CMAKE_DEBUG_POSTFIX)
|
||||||
set(CMAKE_DEBUG_POSTFIX d)
|
if(WIN32)
|
||||||
else()
|
set(CMAKE_DEBUG_POSTFIX d)
|
||||||
set(CMAKE_DEBUG_POSTFIX _debug)
|
else()
|
||||||
|
set(CMAKE_DEBUG_POSTFIX _debug)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
|
||||||
|
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
|
||||||
|
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
|
||||||
|
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/lib)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
find_package(QT NAMES Qt6 Qt5 COMPONENTS Gui REQUIRED)
|
find_package(QT NAMES Qt6 Qt5 COMPONENTS Gui REQUIRED)
|
||||||
|
@ -73,6 +89,7 @@ if(WIN32 AND BUILD_SHARED_LIBS)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
add_library(${PROJECT_NAME} ${SOURCES})
|
add_library(${PROJECT_NAME} ${SOURCES})
|
||||||
|
add_library(wangwenx190::${PROJECT_NAME} ALIAS ${PROJECT_NAME})
|
||||||
|
|
||||||
if(NOT BUILD_SHARED_LIBS)
|
if(NOT BUILD_SHARED_LIBS)
|
||||||
target_compile_definitions(${PROJECT_NAME} PUBLIC
|
target_compile_definitions(${PROJECT_NAME} PUBLIC
|
||||||
|
@ -128,3 +145,7 @@ endif()
|
||||||
target_include_directories(${PROJECT_NAME} PUBLIC
|
target_include_directories(${PROJECT_NAME} PUBLIC
|
||||||
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
|
"$<BUILD_INTERFACE:${CMAKE_CURRENT_LIST_DIR}>"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(BUILD_EXAMPLES)
|
||||||
|
add_subdirectory(examples)
|
||||||
|
endif()
|
||||||
|
|
|
@ -0,0 +1,6 @@
|
||||||
|
if(TARGET Qt${QT_VERSION_MAJOR}::Widgets)
|
||||||
|
add_subdirectory(widget)
|
||||||
|
endif()
|
||||||
|
if(TARGET Qt${QT_VERSION_MAJOR}::Quick)
|
||||||
|
add_subdirectory(quick)
|
||||||
|
endif()
|
|
@ -0,0 +1,47 @@
|
||||||
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
|
||||||
|
find_package(QT NAMES Qt6 Qt5 COMPONENTS Quick QuickControls2 REQUIRED)
|
||||||
|
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Quick QuickControls2 REQUIRED)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
../images.qrc
|
||||||
|
qml.qrc
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
enable_language(RC)
|
||||||
|
list(APPEND SOURCES ../windows.rc ../windows.manifest)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_executable(Quick WIN32 ${SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(Quick PRIVATE
|
||||||
|
Qt${QT_VERSION_MAJOR}::Quick
|
||||||
|
Qt${QT_VERSION_MAJOR}::QuickControls2
|
||||||
|
wangwenx190::FramelessHelper
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_definitions(Quick PRIVATE
|
||||||
|
QT_NO_CAST_FROM_ASCII
|
||||||
|
QT_NO_CAST_TO_ASCII
|
||||||
|
QT_NO_KEYWORDS
|
||||||
|
QT_DEPRECATED_WARNINGS
|
||||||
|
QT_DISABLE_DEPRECATED_BEFORE=0x060000
|
||||||
|
)
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
target_compile_options(Quick PRIVATE /utf-8)
|
||||||
|
if(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug"))
|
||||||
|
target_compile_options(Quick PRIVATE /guard:cf)
|
||||||
|
target_link_options(Quick PRIVATE /GUARD:CF)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(Quick PRIVATE user32 shell32 gdi32 dwmapi)
|
||||||
|
endif()
|
|
@ -0,0 +1,47 @@
|
||||||
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
||||||
|
|
||||||
|
set(CMAKE_AUTOUIC ON)
|
||||||
|
set(CMAKE_AUTOMOC ON)
|
||||||
|
set(CMAKE_AUTORCC ON)
|
||||||
|
|
||||||
|
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
|
||||||
|
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
|
||||||
|
|
||||||
|
set(SOURCES
|
||||||
|
../images.qrc
|
||||||
|
widget.h
|
||||||
|
widget.cpp
|
||||||
|
main.cpp
|
||||||
|
)
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
enable_language(RC)
|
||||||
|
list(APPEND SOURCES ../windows.rc ../windows.manifest)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
add_executable(Widget WIN32 ${SOURCES})
|
||||||
|
|
||||||
|
target_link_libraries(Widget PRIVATE
|
||||||
|
Qt${QT_VERSION_MAJOR}::Widgets
|
||||||
|
wangwenx190::FramelessHelper
|
||||||
|
)
|
||||||
|
|
||||||
|
target_compile_definitions(Widget PRIVATE
|
||||||
|
QT_NO_CAST_FROM_ASCII
|
||||||
|
QT_NO_CAST_TO_ASCII
|
||||||
|
QT_NO_KEYWORDS
|
||||||
|
QT_DEPRECATED_WARNINGS
|
||||||
|
QT_DISABLE_DEPRECATED_BEFORE=0x060000
|
||||||
|
)
|
||||||
|
|
||||||
|
if(MSVC)
|
||||||
|
target_compile_options(Widget PRIVATE /utf-8)
|
||||||
|
if(NOT (CMAKE_BUILD_TYPE STREQUAL "Debug"))
|
||||||
|
target_compile_options(Widget PRIVATE /guard:cf)
|
||||||
|
target_link_options(Widget PRIVATE /GUARD:CF)
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(WIN32)
|
||||||
|
target_link_libraries(Widget PRIVATE user32 shell32 gdi32 dwmapi)
|
||||||
|
endif()
|
|
@ -26,7 +26,7 @@
|
||||||
|
|
||||||
IDI_ICON1 ICON "windows.ico"
|
IDI_ICON1 ICON "windows.ico"
|
||||||
|
|
||||||
CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "windows.manifest"
|
//CREATEPROCESS_MANIFEST_RESOURCE_ID RT_MANIFEST "windows.manifest"
|
||||||
|
|
||||||
VS_VERSION_INFO VERSIONINFO
|
VS_VERSION_INFO VERSIONINFO
|
||||||
FILEVERSION 1,0,0,0
|
FILEVERSION 1,0,0,0
|
||||||
|
|
Loading…
Reference in New Issue