forked from qt-creator/qt-creator
QmlDesigner: WITH_QMLDESIGNER_DEFAULT OFF if compiler is too old
Change-Id: I6b54434273da92bdff9b81076e0cbf47e07cd3d3 Reviewed-by: Eike Ziller <eike.ziller@qt.io>
This commit is contained in:
@@ -11,7 +11,6 @@ include(Utils)
|
||||
|
||||
env_with_default("QTC_BUILD_WITH_PCH" ENV_QTC_BUILD_WITH_PCH ON)
|
||||
env_with_default("QTC_WITH_TESTS" ENV_QTC_WITH_TESTS OFF)
|
||||
env_with_default("QTC_WITH_QMLDESIGNER" ENV_QTC_WITH_QMLDESIGNER ON)
|
||||
|
||||
option(BUILD_WITH_PCH "Build with precompiled headers" "${ENV_QTC_BUILD_WITH_PCH}")
|
||||
|
||||
@@ -78,12 +77,9 @@ find_package(Qt6
|
||||
REQUIRED
|
||||
)
|
||||
|
||||
if (Qt6_VERSION VERSION_GREATER_EQUAL 6.5.4)
|
||||
option(WITH_QMLDESIGNER "Build QmlDesigner" ${ENV_QTC_WITH_QMLDESIGNER})
|
||||
else()
|
||||
option(WITH_QMLDESIGNER "Build QmlDesigner" OFF)
|
||||
endif()
|
||||
add_feature_info("Build QmlDesigner and related code (only if Qt is 6.5.4 or newer)" ${WITH_QMLDESIGNER} "")
|
||||
# depending on Qt version and compiler version enable or disable Qml Designer
|
||||
# can be overwritten by variable WITH_QMLDESIGNER / QTC_WITH_QMLDESIGNER (env)
|
||||
configure_qml_designer(${Qt6_VERSION})
|
||||
|
||||
# hack for Qbs which still supports Qt5 and Qt6
|
||||
if (TARGET Qt6::Core5CompatPrivate)
|
||||
|
@@ -59,3 +59,32 @@ function(setup_dependencies_component)
|
||||
)
|
||||
endif()
|
||||
endfunction()
|
||||
|
||||
function(configure_qml_designer Qt6_VERSION)
|
||||
set(QMLDESIGNER_QT6_REQUIRED_VERSION 6.5.4)
|
||||
set(QMLDESIGNER_GCC_REQUIRED_VERSION 11.0)
|
||||
set(QMLDESIGNER_CLANG_REQUIRED_VERSION 13.0)
|
||||
|
||||
string(CONCAT QMLDESIGNER_FEATURE_DESC
|
||||
"Needs a Qt ${QMLDESIGNER_QT6_REQUIRED_VERSION} or newer")
|
||||
|
||||
if (Qt6_VERSION VERSION_GREATER_EQUAL ${QMLDESIGNER_QT6_REQUIRED_VERSION})
|
||||
if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU" AND
|
||||
CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${QMLDESIGNER_GCC_REQUIRED_VERSION})
|
||||
set(QTC_WITH_QMLDESIGNER_DEFAULT OFF)
|
||||
string(APPEND QMLDESIGNER_FEATURE_DESC " and at least gcc ${QMLDESIGNER_GCC_REQUIRED_VERSION}")
|
||||
elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND
|
||||
CMAKE_CXX_COMPILER_VERSION VERSION_LESS ${QMLDESIGNER_CLANG_REQUIRED_VERSION})
|
||||
set(QTC_WITH_QMLDESIGNER_DEFAULT OFF)
|
||||
string(APPEND QMLDESIGNER_FEATURE_DESC " and at least clang ${QMLDESIGNER_CLANG_REQUIRED_VERSION}")
|
||||
else()
|
||||
set(QTC_WITH_QMLDESIGNER_DEFAULT ON)
|
||||
endif()
|
||||
else()
|
||||
set(QTC_WITH_QMLDESIGNER_DEFAULT OFF)
|
||||
endif()
|
||||
|
||||
env_with_default("QTC_WITH_QMLDESIGNER" ENV_QTC_WITH_QMLDESIGNER ${QTC_WITH_QMLDESIGNER_DEFAULT})
|
||||
option(WITH_QMLDESIGNER "Build QmlDesigner" ${ENV_QTC_WITH_QMLDESIGNER})
|
||||
add_feature_info("WITH_QMLDESIGNER" ${WITH_QMLDESIGNER} "${QMLDESIGNER_FEATURE_DESC}")
|
||||
endfunction()
|
||||
|
Reference in New Issue
Block a user