cmake: update submodule

Signed-off-by: Yuhang Zhao <2546789017@qq.com>
This commit is contained in:
Yuhang Zhao 2023-02-15 14:53:29 +08:00
parent 9bf6361171
commit 3523ea67ea
11 changed files with 177 additions and 16 deletions

View File

@ -43,6 +43,11 @@ option(FRAMELESSHELPER_ENABLE_YYTHUNKS "MSVC only: dynamic load most Win32 APIs
option(FRAMELESSHELPER_NO_PERMISSIVE_CHECKS "MSVC only: disable the additional permissive checks." OFF) option(FRAMELESSHELPER_NO_PERMISSIVE_CHECKS "MSVC only: disable the additional permissive checks." OFF)
option(FRAMELESSHELPER_NO_INSTALL "Don't install any files." OFF) option(FRAMELESSHELPER_NO_INSTALL "Don't install any files." OFF)
option(FRAMELESSHELPER_NO_SUMMARY "Don't show CMake configure summary." OFF) option(FRAMELESSHELPER_NO_SUMMARY "Don't show CMake configure summary." OFF)
option(FRAMELESSHELPER_ENABLE_SPECTRE "Mitigate Spectre security vulnerabilities." OFF)
option(FRAMELESSHELPER_ENABLE_EHCONTGUARD "Enable EH Continuation (EHCONT) Metadata." OFF)
option(FRAMELESSHELPER_ENABLE_INTELCET "Enable Intel CET." ON)
option(FRAMELESSHELPER_ENABLE_INTELJCC "Enable Intel JCC." ON)
option(FRAMELESSHELPER_ENABLE_CFGUARD "Enable Control Flow Guard (CFG)." ON)
if(FRAMELESSHELPER_NO_BUNDLE_RESOURCE) if(FRAMELESSHELPER_NO_BUNDLE_RESOURCE)
message(WARNING "Nothing will be embeded into FramelessHelper, the chrome buttons will have no icon.") message(WARNING "Nothing will be embeded into FramelessHelper, the chrome buttons will have no icon.")
@ -56,12 +61,14 @@ include(cmake/utils.cmake)
set(__extra_flags) set(__extra_flags)
if(NOT FRAMELESSHELPER_BUILD_STATIC) if(NOT FRAMELESSHELPER_BUILD_STATIC)
set(__extra_flags ENABLE_LTO) list(APPEND __extra_flags ENABLE_LTO)
endif() endif()
setup_project( setup_project(
QT_PROJECT QT_PROJECT
QML_IMPORT_DIR "${PROJECT_BINARY_DIR}/imports" QML_IMPORT_DIR "${PROJECT_BINARY_DIR}/imports"
LANGUAGES CXX RC LANGUAGES CXX RC
MAX_WARNING
EXCEPTIONS
${__extra_flags} ${__extra_flags}
) )
unset(__extra_flags) unset(__extra_flags)
@ -87,7 +94,7 @@ endif()
set(__extra_flags) set(__extra_flags)
if(FRAMELESSHELPER_NO_INSTALL) if(FRAMELESSHELPER_NO_INSTALL)
set(__extra_flags NO_INSTALL) list(APPEND __extra_flags NO_INSTALL)
endif() endif()
prepare_package_export( prepare_package_export(
PACKAGE_NAME ${PROJECT_NAME} PACKAGE_NAME ${PROJECT_NAME}
@ -102,8 +109,17 @@ find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Core Gui)
find_package(QT NAMES Qt6 Qt5 QUIET COMPONENTS Widgets Quick) find_package(QT NAMES Qt6 Qt5 QUIET COMPONENTS Widgets Quick)
find_package(Qt${QT_VERSION_MAJOR} QUIET COMPONENTS Widgets Quick) find_package(Qt${QT_VERSION_MAJOR} QUIET COMPONENTS Widgets Quick)
if(FRAMELESSHELPER_BUILD_QUICK AND NOT TARGET Qt${QT_VERSION_MAJOR}::Quick)
message(WARNING "Can't find the QtQuick module. FramelessHelper's QtQuick implementation and the QtQuick demo won't be built.")
set(FRAMELESSHELPER_BUILD_QUICK OFF)
endif()
if(TARGET Qt${QT_VERSION_MAJOR}::Core AND TARGET Qt${QT_VERSION_MAJOR}::Gui) if(TARGET Qt${QT_VERSION_MAJOR}::Core AND TARGET Qt${QT_VERSION_MAJOR}::Gui)
add_subdirectory(src) add_subdirectory(src)
else()
message(WARNING "Can't find the QtCore and QtGui module. Nothing will be built.")
set(FRAMELESSHELPER_BUILD_WIDGETS OFF)
set(FRAMELESSHELPER_BUILD_EXAMPLES OFF)
endif() endif()
if(FRAMELESSHELPER_BUILD_EXAMPLES) if(FRAMELESSHELPER_BUILD_EXAMPLES)
@ -111,7 +127,7 @@ if(FRAMELESSHELPER_BUILD_EXAMPLES)
endif() endif()
if(NOT FRAMELESSHELPER_NO_SUMMARY) if(NOT FRAMELESSHELPER_NO_SUMMARY)
message("#######################################") message("--------------------------- Compiler ----------------------------")
message("CMake version: ${CMAKE_VERSION}") message("CMake version: ${CMAKE_VERSION}")
message("Host system: ${CMAKE_HOST_SYSTEM}") message("Host system: ${CMAKE_HOST_SYSTEM}")
message("Host processor: ${CMAKE_HOST_SYSTEM_PROCESSOR}") message("Host processor: ${CMAKE_HOST_SYSTEM_PROCESSOR}")
@ -123,7 +139,7 @@ if(NOT FRAMELESSHELPER_NO_SUMMARY)
message("Make program: ${CMAKE_MAKE_PROGRAM}") message("Make program: ${CMAKE_MAKE_PROGRAM}")
message("Build type: ${CMAKE_BUILD_TYPE}") message("Build type: ${CMAKE_BUILD_TYPE}")
message("Install prefix: ${CMAKE_INSTALL_PREFIX}") message("Install prefix: ${CMAKE_INSTALL_PREFIX}")
message("#######################################") message("------------------------------ Qt -------------------------------")
set(__qt_inst_dir) set(__qt_inst_dir)
if(DEFINED Qt6_DIR) if(DEFINED Qt6_DIR)
set(__qt_inst_dir "${Qt6_DIR}") set(__qt_inst_dir "${Qt6_DIR}")
@ -142,7 +158,7 @@ if(NOT FRAMELESSHELPER_NO_SUMMARY)
set(__qt_type shared) set(__qt_type shared)
endif() endif()
message("Qt library type: ${__qt_type}") message("Qt library type: ${__qt_type}")
message("#######################################") message("------------------------ FramelessHelper ------------------------")
message("FramelessHelper version: ${PROJECT_VERSION}") message("FramelessHelper version: ${PROJECT_VERSION}")
message("FramelessHelper commit hash: ${PROJECT_VERSION_COMMIT}") message("FramelessHelper commit hash: ${PROJECT_VERSION_COMMIT}")
message("FramelessHelper configure date and time: ${PROJECT_COMPILE_DATETIME} (UTC)") message("FramelessHelper configure date and time: ${PROJECT_COMPILE_DATETIME} (UTC)")
@ -158,5 +174,10 @@ if(NOT FRAMELESSHELPER_NO_SUMMARY)
message("[MSVC] Thunk system APIs for old system: ${FRAMELESSHELPER_ENABLE_YYTHUNKS}") message("[MSVC] Thunk system APIs for old system: ${FRAMELESSHELPER_ENABLE_YYTHUNKS}")
message("[MSVC] Disable permissive checks: ${FRAMELESSHELPER_NO_PERMISSIVE_CHECKS}") message("[MSVC] Disable permissive checks: ${FRAMELESSHELPER_NO_PERMISSIVE_CHECKS}")
message("Do not install anything for CMake install: ${FRAMELESSHELPER_NO_INSTALL}") message("Do not install anything for CMake install: ${FRAMELESSHELPER_NO_INSTALL}")
message("#######################################") message("Mitigate Spectre security vulnerabilities: ${FRAMELESSHELPER_ENABLE_SPECTRE}")
message("Enable EH Continuation (EHCONT) Metadata: ${FRAMELESSHELPER_ENABLE_EHCONTGUARD}")
message("Enable Intel CET: ${FRAMELESSHELPER_ENABLE_INTELCET}")
message("Enable Intel JCC: ${FRAMELESSHELPER_ENABLE_INTELJCC}")
message("Enable Control Flow Guard (CFG): ${FRAMELESSHELPER_ENABLE_CFGUARD}")
message("-----------------------------------------------------------------")
endif() endif()

2
cmake

@ -1 +1 @@
Subproject commit 24aa677d6b6c07e5cbeff8858995bbb115f94646 Subproject commit 86694ade5b240030eb70b5e5463b98cdb26d826b

View File

@ -29,6 +29,6 @@ if(FRAMELESSHELPER_BUILD_WIDGETS AND TARGET Qt${QT_VERSION_MAJOR}::Widgets)
add_subdirectory(dialog) add_subdirectory(dialog)
endif() endif()
if(FRAMELESSHELPER_BUILD_QUICK AND TARGET Qt${QT_VERSION_MAJOR}::Quick AND (${QT_VERSION_MAJOR} GREATER_EQUAL 6) AND (NOT FRAMELESSHELPER_NO_PRIVATE)) if(FRAMELESSHELPER_BUILD_QUICK AND TARGET Qt${QT_VERSION_MAJOR}::Quick AND (QT_VERSION_MAJOR GREATER_EQUAL 6) AND (NOT FRAMELESSHELPER_NO_PRIVATE))
add_subdirectory(quick) add_subdirectory(quick)
endif() endif()

View File

@ -54,7 +54,26 @@ setup_gui_app(
BUNDLE_VERSION 1.0.0 BUNDLE_VERSION 1.0.0
BUNDLE_VERSION_SHORT 1.0 BUNDLE_VERSION_SHORT 1.0
) )
setup_compile_params(TARGETS Dialog) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif()
setup_compile_params(TARGETS Dialog ${__extra_flags})
if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT) if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT)
set(__extra_flags) set(__extra_flags)
if(FRAMELESSHELPER_NO_INSTALL) if(FRAMELESSHELPER_NO_INSTALL)

View File

@ -59,7 +59,26 @@ setup_gui_app(
BUNDLE_VERSION 1.0.0 BUNDLE_VERSION 1.0.0
BUNDLE_VERSION_SHORT 1.0 BUNDLE_VERSION_SHORT 1.0
) )
setup_compile_params(TARGETS MainWindow) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif()
setup_compile_params(TARGETS MainWindow ${__extra_flags})
if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT) if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT)
set(__extra_flags) set(__extra_flags)
if(FRAMELESSHELPER_NO_INSTALL) if(FRAMELESSHELPER_NO_INSTALL)

View File

@ -73,7 +73,26 @@ setup_gui_app(
BUNDLE_VERSION 1.0.0 BUNDLE_VERSION 1.0.0
BUNDLE_VERSION_SHORT 1.0 BUNDLE_VERSION_SHORT 1.0
) )
setup_compile_params(TARGETS OpenGLWidget) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif()
setup_compile_params(TARGETS OpenGLWidget ${__extra_flags})
if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT) if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT)
set(__extra_flags) set(__extra_flags)
if(FRAMELESSHELPER_NO_INSTALL) if(FRAMELESSHELPER_NO_INSTALL)

View File

@ -96,7 +96,26 @@ setup_gui_app(
BUNDLE_VERSION 1.0.0 BUNDLE_VERSION 1.0.0
BUNDLE_VERSION_SHORT 1.0 BUNDLE_VERSION_SHORT 1.0
) )
setup_compile_params(TARGETS Quick) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif()
setup_compile_params(TARGETS Quick ${__extra_flags})
if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT) if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT)
set(__extra_flags) set(__extra_flags)
if(FRAMELESSHELPER_NO_INSTALL) if(FRAMELESSHELPER_NO_INSTALL)

View File

@ -54,7 +54,26 @@ setup_gui_app(
BUNDLE_VERSION 1.0.0 BUNDLE_VERSION 1.0.0
BUNDLE_VERSION_SHORT 1.0 BUNDLE_VERSION_SHORT 1.0
) )
setup_compile_params(TARGETS Widget) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif()
setup_compile_params(TARGETS Widget ${__extra_flags})
if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT) if(FRAMELESSHELPER_EXAMPLES_DEPLOYQT)
set(__extra_flags) set(__extra_flags)
if(FRAMELESSHELPER_NO_INSTALL) if(FRAMELESSHELPER_NO_INSTALL)

View File

@ -259,7 +259,22 @@ target_include_directories(${SUB_PROJ_NAME} PUBLIC
setup_qt_stuff(TARGETS ${SUB_PROJ_NAME}) setup_qt_stuff(TARGETS ${SUB_PROJ_NAME})
set(__extra_flags) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS) if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
set(__extra_flags PERMISSIVE) list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif() endif()
setup_compile_params(TARGETS ${SUB_PROJ_NAME} ${__extra_flags}) setup_compile_params(TARGETS ${SUB_PROJ_NAME} ${__extra_flags})
if(NOT FRAMELESSHELPER_NO_INSTALL) if(NOT FRAMELESSHELPER_NO_INSTALL)

View File

@ -216,7 +216,22 @@ target_include_directories(${SUB_PROJ_NAME} PUBLIC
setup_qt_stuff(TARGETS ${SUB_PROJ_NAME} ALLOW_KEYWORD) setup_qt_stuff(TARGETS ${SUB_PROJ_NAME} ALLOW_KEYWORD)
set(__extra_flags) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS) if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
set(__extra_flags PERMISSIVE) list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif() endif()
setup_compile_params(TARGETS ${SUB_PROJ_NAME} ${__extra_flags}) setup_compile_params(TARGETS ${SUB_PROJ_NAME} ${__extra_flags})
if(NOT FRAMELESSHELPER_NO_INSTALL) if(NOT FRAMELESSHELPER_NO_INSTALL)

View File

@ -143,7 +143,22 @@ target_include_directories(${SUB_PROJ_NAME} PUBLIC
setup_qt_stuff(TARGETS ${SUB_PROJ_NAME}) setup_qt_stuff(TARGETS ${SUB_PROJ_NAME})
set(__extra_flags) set(__extra_flags)
if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS) if(NOT FRAMELESSHELPER_NO_PERMISSIVE_CHECKS)
set(__extra_flags PERMISSIVE) list(APPEND __extra_flags PERMISSIVE)
endif()
if(FRAMELESSHELPER_ENABLE_SPECTRE)
list(APPEND __extra_flags SPECTRE)
endif()
if(FRAMELESSHELPER_ENABLE_EHCONTGUARD)
list(APPEND __extra_flags EHCONTGUARD)
endif()
if(FRAMELESSHELPER_ENABLE_INTELCET)
list(APPEND __extra_flags INTELCET)
endif()
if(FRAMELESSHELPER_ENABLE_INTELJCC)
list(APPEND __extra_flags INTELJCC)
endif()
if(FRAMELESSHELPER_ENABLE_CFGUARD)
list(APPEND __extra_flags CFGUARD)
endif() endif()
setup_compile_params(TARGETS ${SUB_PROJ_NAME} ${__extra_flags}) setup_compile_params(TARGETS ${SUB_PROJ_NAME} ${__extra_flags})
if(NOT FRAMELESSHELPER_NO_INSTALL) if(NOT FRAMELESSHELPER_NO_INSTALL)