Use the correct way to include qsimd_x86_p.h
qsimd_x86_p.h is not synced and installed as part of macOS multi-arch builds, because of TEST_architecture_arch. With new approach when we supposed to deploy only header files that belong to a platform in Qt builds and installation, this file is missing. Considering CMAKE_OSX_ARCHITECTURES in qt_internal_extend_target CONDITION fixes this behavior and the file is added to CMake source tree. Include qsimd_x86_p.h using private module include path, but not by the relative path. This helps to detect the issue if file doesn't exists in build or install directory when building qtbase, but not other repositories. The current architecture_arch test returns the very first architecture that pass the check. Since arm64 is located in very beginning it's returned first and other architectures that might be used for multi-arch builds are not taken into account by conditions that checks architecture_arch test results. Fixes: QTBUG-106462 Task-number: QTBUG-103196 Change-Id: I6a9f110007d7069222c7d63bcd3ea586efab3aae Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>bb10
parent
c7d1d56b09
commit
1e9c97011a
|
|
@ -476,10 +476,13 @@ endif()
|
|||
|
||||
qt_internal_extend_target(Core
|
||||
CONDITION ( TEST_architecture_arch STREQUAL i386 ) OR
|
||||
( TEST_architecture_arch STREQUAL x86_64 )
|
||||
( TEST_architecture_arch STREQUAL x86_64 ) OR
|
||||
( CMAKE_OSX_ARCHITECTURES MATCHES "x86_64" ) OR
|
||||
( CMAKE_OSX_ARCHITECTURES MATCHES "i386" ) OR
|
||||
SOURCES
|
||||
global/qsimd_x86_p.h
|
||||
)
|
||||
|
||||
qt_internal_extend_target(Core CONDITION ANDROID
|
||||
SOURCES
|
||||
kernel/qsharedmemory_android.cpp
|
||||
|
|
|
|||
|
|
@ -213,7 +213,7 @@ asm(
|
|||
# include <immintrin.h>
|
||||
# endif
|
||||
|
||||
# include "qsimd_x86_p.h"
|
||||
# include <QtCore/private/qsimd_x86_p.h>
|
||||
|
||||
// x86-64 sub-architecture version 3
|
||||
//
|
||||
|
|
|
|||
Loading…
Reference in New Issue