diff options
Diffstat (limited to 'cmake/QtPlatformTargetHelpers.cmake')
-rw-r--r-- | cmake/QtPlatformTargetHelpers.cmake | 24 |
1 files changed, 22 insertions, 2 deletions
diff --git a/cmake/QtPlatformTargetHelpers.cmake b/cmake/QtPlatformTargetHelpers.cmake index 4d5ad79374..f1976b9975 100644 --- a/cmake/QtPlatformTargetHelpers.cmake +++ b/cmake/QtPlatformTargetHelpers.cmake @@ -1,3 +1,6 @@ +# Copyright (C) 2022 The Qt Company Ltd. +# SPDX-License-Identifier: BSD-3-Clause + # Defines the public Qt::Platform target, which serves as a dependency for all internal Qt target # as well as user projects consuming Qt. function(qt_internal_setup_public_platform_target) @@ -19,6 +22,13 @@ function(qt_internal_setup_public_platform_target) ) target_compile_definitions(Platform INTERFACE ${QT_PLATFORM_DEFINITIONS}) + set_target_properties(Platform PROPERTIES + _qt_package_version "${PROJECT_VERSION}" + ) + set_property(TARGET Platform + APPEND PROPERTY + EXPORT_PROPERTIES "_qt_package_version") + # When building on android we need to link against the logging library # in order to satisfy linker dependencies. Both of these libraries are part of # the NDK. @@ -34,8 +44,18 @@ function(qt_internal_setup_public_platform_target) endif() target_link_options(Platform INTERFACE "${libc_link_option}") endif() - if (QT_FEATURE_no_extern_direct_access) - target_compile_options(Platform INTERFACE "-mno-direct-extern-access") + if (QT_FEATURE_no_direct_extern_access) + target_compile_options(Platform INTERFACE "$<$<CXX_COMPILER_ID:GNU>:-mno-direct-extern-access>") + target_compile_options(Platform INTERFACE "$<$<CXX_COMPILER_ID:Clang>:-fno-direct-access-external-data>") + endif() + + # Qt checks if a given platform supports 128 bit integers + # by checking if __SIZEOF_128__ is defined + # VXWORKS doesn't support 128 bit integers + # but it uses clang which defines __SIZEOF_128__ + # which breaks the detection mechanism + if(VXWORKS) + target_compile_definitions(Platform INTERFACE "-DQT_NO_INT128") endif() qt_set_msvc_cplusplus_options(Platform INTERFACE) |