1. 06 Apr, 2021 1 commit
  2. 04 Apr, 2021 1 commit
  3. 03 Apr, 2021 3 commits
  4. 02 Apr, 2021 3 commits
  5. 01 Apr, 2021 12 commits
    • Alexandru Croitor's avatar
      CMake: Fix building multi-arch universal macOS Qt · 659817e2
      Alexandru Croitor authored
      Use the same approach we use for iOS, which is to set multiple
      CMAKE_OSX_ARCHITECTURES values and let the clang front end
      deal with lipo-ing the final libraries.
      For now, Qt can be configured to build universal macOS libraries by
      passing 2 architectures to CMake, either via:
      Currently we recommend specifying the intel x86_64 arch as the first
      one, to get an intel slice configuration that is comparable to a
      non-universal intel build.
      Specifying the arm64 slice first could pessimize optimizations and
      reduce the feature set for the intel slice due to the limitation
      that we run configure tests only once.
      The first specified architecture is the one used to do all the
      configure tests.
      It 'mostly' defines the common feature set of both architecture
      slices, with the excepion of some special handling for sse2 and
      neon instructions.
      In the future we might want to run at least the Qt architecture config
      test for all specified architectures, so that we can extract all the
      supported sub-arches and instruction sets in a reliable way.
      For now, we use the same sse2 hack as for iOS simulator_and_device
      builds, otherwise QtGui fails to link due to missing
      qt_memfill32_sse2 and other symbols.
      The hack is somewhat augmented to ensure that reconfiguration
      still succeeds (same issue happened with iOS). Previously the sse2
      feature condition was broken due to force setting the feature
      to be ON. Now the condition also checks for a special
      QT_FORCE_FEATURE_sse2 variable which we set internally.
      Note that we shouldn't build for arm64e, because the binaries
      get killed when running on AS with the following message:
        kernel: exec_mach_imgact: not running binary built against
        preview arm64e ABI.
      Aslo, by default, we disable the arm64 slice for qt sql plugins,
      mostly because the CI provisioned sql libraries that we depend on only
      contain x86_64 slices, and trying to build the sql plugins for both
      slices will fail with linker errors.
      This behavior can be disabled for all targets marked by
      qt_internal_force_macos_intel_arch, by setting the
      QT_FORCE_MACOS_ALL_ARCHES CMake option to ON.
      To disble it per-target one can set
      QT_FORCE_MACOS_ALL_ARCHES_${target} to ON.
      Task-number: QTBUG-85447
      Change-Id: Iccb5dfcc1a21a8a8292bd3817df0ea46c3445f75
      Reviewed-by: default avatarTor Arne Vestbø <tor.arne.vestbo@qt.io>
    • Alexandru Croitor's avatar
      CMake: Teach qt_internal_add_simd to exclude given osx architectures · 6fd8748f
      Alexandru Croitor authored
      qt_internal_add_simd can now take an EXCLUDE_OSX_ARCHITECTURES list of
      values which specifies for which architectures the simd compile flags
      should not be added.
      This is relevant for macOS universal builds.
      CMAKE_OSX_ARCHITECTURES is "x86_64;arm64"
      SIMD is avx2
      the final compiler flags that will be added are "-Xarch_x86_64 -mavx2"
      Slightly, clean up the function implementation and document its
      NAME handling has been removed because it's dead code that hasn't been
      removed as part of 1b7008a3
      Task-number: QTBUG-85447
      Change-Id: I395c19bdd67219bebb6b5b8d9f418b6e6488e09b
      Reviewed-by: default avatarTor Arne Vestbø <tor.arne.vestbo@qt.io>
    • Shantanu Tushar's avatar
      Add std::chrono overloads for QLockFile functions · 0592123a
      Shantanu Tushar authored
      This makes it convenient to use QLockFile for projects which are able to
      use std::chrono to denote durations.
      Change-Id: Ib4520f6142412bdefe659fccc1e6d15b81af2f25
      Reviewed-by: default avatarDavid Faure <david.faure@kdab.com>
    • Qt CI Bot's avatar
    • Qt CI Bot's avatar
    • Lorn Potter's avatar
      wasm: add cmake build support · 4972fdb3
      Lorn Potter authored
      A few configure defines get changed:
      To create source maps for debugging. use
      device-option QT_WASM_SOURCE_MAP=1
      Task-number: QTBUG-78647
      Change-Id: If9f30cd7fb408c386d6d69b5f7b1beecf1ab44b5
      Reviewed-by: default avatarAlexandru Croitor <alexandru.croitor@qt.io>
    • Qt CI Bot's avatar
    • Fabian Kosmale's avatar
      QObjectCompatProperty: Reintroduce operator= · 29ef667a
      Fabian Kosmale authored
      This is a partial revert of a1a2d97e
      Reason: The new design does not notify automatically anymore, so using
      operator= is safe to use.
      Change-Id: I6cb735e40c0da72d22fcc426423eb7830901e5f4
      Reviewed-by: default avatarQt CI Bot <qt_ci_bot@qt-project.org>
      Reviewed-by: default avatarLars Knoll <lars.knoll@qt.io>
    • Fabian Kosmale's avatar
      QObjectCompatProperty: Emit signal in notfiy · 4ceaf22b
      Fabian Kosmale authored
      There is no need to write emit and notify at the same time, as not
      emitting after notify does not make sense.
      This naturally only applies to properties with a changed signal.
      Change-Id: I99ff7863a509262ad9d4f7c9c5afbc66fd37001c
      Reviewed-by: default avatarUlf Hermann <ulf.hermann@qt.io>
    • Fabian Kosmale's avatar
      QObjectCompatProperty: Require explicit notify · 2ffb91ac
      Fabian Kosmale authored
      For QObjectCompatProperty, which allows to do basically anything in its
      setter, it is actually easier to manually specify when the change should
      become visible. This is in line with manually writing emit calls in the
      old property system, and allows the preservation of class invariants.
      Change-Id: I585bd3f25d722ca3fd721ead85fe73dbee26c5f6
      Reviewed-by: default avatarUlf Hermann <ulf.hermann@qt.io>
    • Pasi Petäjäjärvi's avatar
      eglfs: Newer Nvidia libdrm provide device instead driver module name · d8347bd9
      Pasi Petäjäjärvi authored
      In newer Nvidia proprietary libdrm binaries display device name is
      actual device and not driver module name. Check which provided device
      name has been returned with EGL_DRM_DEVICE_FILE_EXT to choose correct
      function to open device.
      Pick-to: 5.15
      Fixes: QTBUG-91184
      Change-Id: I95f907dfa30057da0dca4ff32e0605c6bb10e0a5
      Reviewed-by: default avatarLaszlo Agocs <laszlo.agocs@qt.io>
    • Piotr Mikolajczyk's avatar
      Linux: Add abstract address support for QLocal{Socket,Server} · 2e3f4863
      Piotr Mikolajczyk authored
      Takes advantage of Linux's and Android's support for abstract namespace
      when binding sockets, which is independent of the filesystem (see man
      entry for unix domain sockets).
      To make QLocalServer and QLocalSocket use an abstract socket address,
      one needs to set the socket options to QLocalServer::AbstractNamespaceOption.
      Fixes: QTBUG-16090
      Change-Id: Ia9f9c9cc1ac5c28f9d44b0a48d854a7cfbd39b11
      Reviewed-by: default avatarThiago Macieira <thiago.macieira@intel.com>
  6. 31 Mar, 2021 20 commits