diff --git a/CMakeLists.txt b/CMakeLists.txt index 20cd500..4482162 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -39,6 +39,7 @@ option(FRAMELESSHELPER_NO_DEBUG_OUTPUT "Suppress the debug messages from Framele option(FRAMELESSHELPER_NO_BUNDLE_RESOURCE "Do not bundle any resources within FramelessHelper." OFF) option(FRAMELESSHELPER_NO_PRIVATE "Do not use any private functionalities from Qt." OFF) option(FRAMELESSHELPER_ENABLE_VCLTL "MSVC only: link to the system MSVCRT/UCRT and get rid of API sets." OFF) +option(FRAMELESSHELPER_ENABLE_YYTHUNKS "MSVC only: dynamic load most Win32 APIs to give better compatibility for old Windows versions." OFF) option(FRAMELESSHELPER_NO_PERMISSIVE_CHECKS "MSVC only: disable the additional permissive checks." OFF) option(FRAMELESSHELPER_NO_INSTALL "Don't install any files." OFF) @@ -58,7 +59,7 @@ if(NOT FRAMELESSHELPER_BUILD_STATIC) endif() setup_project( QT_PROJECT - QML_IMPORT_DIR "${PROJECT_BINARY_DIR}/qml" + QML_IMPORT_DIR "${PROJECT_BINARY_DIR}/imports" LANGUAGES CXX RC ${__extra_flags} ) @@ -70,10 +71,16 @@ get_commit_hash(RESULT PROJECT_VERSION_COMMIT) set(PROJECT_COMPILE_DATETIME "UNKNOWN") string(TIMESTAMP PROJECT_COMPILE_DATETIME UTC) -if(FRAMELESSHELPER_ENABLE_VCLTL AND MSVC) - include(cmake/VC-LTL.cmake) - if("x${SupportLTL}" STREQUAL "xtrue") - set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>" CACHE STRING "" FORCE) +if(MSVC) + if(FRAMELESSHELPER_ENABLE_VCLTL) + include(cmake/VC-LTL.cmake) + if("x${SupportLTL}" STREQUAL "xtrue") + set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$:Debug>" CACHE STRING "" FORCE) + endif() + endif() + if(FRAMELESSHELPER_ENABLE_YYTHUNKS) + set(YYTHUNKS_TARGET_OS "WinXP" CACHE STRING "" FORCE) + include(cmake/YY-Thunks.cmake) endif() endif() diff --git a/cmake b/cmake index dadfe4f..6c580ef 160000 --- a/cmake +++ b/cmake @@ -1 +1 @@ -Subproject commit dadfe4f1d94f5f96a73b76e0f0163937031c6760 +Subproject commit 6c580efe7ffac8ef842f7aa447ae0cce097a8704 diff --git a/examples/quick/CMakeLists.txt b/examples/quick/CMakeLists.txt index 54c19ec..95a98fd 100644 --- a/examples/quick/CMakeLists.txt +++ b/examples/quick/CMakeLists.txt @@ -61,8 +61,8 @@ if(QT_VERSION VERSION_GREATER_EQUAL "6.2") qt_add_qml_module(Quick URI Demo VERSION 1.0 - #IMPORT_PATH "${PROJECT_BINARY_DIR}/qml" - OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/qml/Demo" + IMPORT_PATH "${PROJECT_BINARY_DIR}/imports" + OUTPUT_DIRECTORY "${PROJECT_BINARY_DIR}/imports/Demo" RESOURCE_PREFIX "/" NO_RESOURCE_TARGET_PATH IMPORTS diff --git a/src/quick/CMakeLists.txt b/src/quick/CMakeLists.txt index 410ce70..9629d38 100644 --- a/src/quick/CMakeLists.txt +++ b/src/quick/CMakeLists.txt @@ -100,7 +100,7 @@ endif() add_library(${PROJECT_NAME}::${SUB_PROJ_NAME} ALIAS ${SUB_PROJ_NAME}) add_library(${PROJECT_NAME}::${SUB_MOD_NAME} ALIAS ${SUB_PROJ_NAME}) -set(__import_base_dir ${PROJECT_BINARY_DIR}/qml) +set(__import_base_dir ${PROJECT_BINARY_DIR}/imports) if(DEFINED FRAMELESSHELPER_IMPORT_DIR) set(__import_base_dir ${FRAMELESSHELPER_IMPORT_DIR}) endif() @@ -113,6 +113,7 @@ if(QT_VERSION VERSION_GREATER_EQUAL "6.2") VERSION 1.0 OUTPUT_DIRECTORY "${__import_dir}" RESOURCE_PREFIX "/" + #NO_RESOURCE_TARGET_PATH # Can't be used for non-executables. IMPORTS QtQml/auto QtQuick/auto