Fix Android build from multi-arch qmake changes
Add condition replacements for the android ABIs. Add a replacement for QT_ARCH to ANDROID_ABI, since QT_ARCH is only used with the android build for now. Change-Id: I553d7910546de32236f723ec2e9a05a18da76130 Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
This commit is contained in:
parent
665f75f1f1
commit
6694689a26
@ -1317,7 +1317,7 @@ function(add_qt_module target)
|
|||||||
add_library("${target}" STATIC)
|
add_library("${target}" STATIC)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (android)
|
if (ANDROID)
|
||||||
qt_android_apply_arch_suffix("${target}")
|
qt_android_apply_arch_suffix("${target}")
|
||||||
endif()
|
endif()
|
||||||
qt_internal_add_target_aliases("${target}")
|
qt_internal_add_target_aliases("${target}")
|
||||||
@ -2548,7 +2548,7 @@ function(add_cmake_library target)
|
|||||||
set(arg_ARCHIVE_INSTALL_DIRECTORY "${arg_INSTALL_DIRECTORY}")
|
set(arg_ARCHIVE_INSTALL_DIRECTORY "${arg_INSTALL_DIRECTORY}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
if (android)
|
if (ANDROID)
|
||||||
qt_android_apply_arch_suffix("${target}")
|
qt_android_apply_arch_suffix("${target}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
@ -315,7 +315,7 @@ extend_target(Core CONDITION ANDROID
|
|||||||
kernel/qsharedmemory_android.cpp
|
kernel/qsharedmemory_android.cpp
|
||||||
kernel/qsystemsemaphore_android.cpp
|
kernel/qsystemsemaphore_android.cpp
|
||||||
DEFINES
|
DEFINES
|
||||||
LIBS_SUFFIX='\\"_.so\\"'
|
LIBS_SUFFIX='\\"_${ANDROID_ABI}.so\\"'
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_target(Core CONDITION MSVC AND (TEST_architecture_arch STREQUAL "i386")
|
extend_target(Core CONDITION MSVC AND (TEST_architecture_arch STREQUAL "i386")
|
||||||
|
@ -399,7 +399,7 @@ extend_target(Core CONDITION ANDROID
|
|||||||
kernel/qsharedmemory_android.cpp
|
kernel/qsharedmemory_android.cpp
|
||||||
kernel/qsystemsemaphore_android.cpp
|
kernel/qsystemsemaphore_android.cpp
|
||||||
DEFINES
|
DEFINES
|
||||||
LIBS_SUFFIX='\\"_.so\\"'
|
LIBS_SUFFIX="\\\\"_${ANDROID_ABI}.so\\\\"" # special case
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_target(Core CONDITION MSVC AND (TEST_architecture_arch STREQUAL "i386")
|
extend_target(Core CONDITION MSVC AND (TEST_architecture_arch STREQUAL "i386")
|
||||||
|
@ -471,14 +471,14 @@ if(NOT ANDROID)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
extend_target(Gui CONDITION ANDROID AND arm64-v8a
|
extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL arm64
|
||||||
SOURCES
|
SOURCES
|
||||||
image/qimage_neon.cpp
|
image/qimage_neon.cpp
|
||||||
painting/qdrawhelper_neon.cpp painting/qdrawhelper_neon_p.h
|
painting/qdrawhelper_neon.cpp painting/qdrawhelper_neon_p.h
|
||||||
painting/qimagescale_neon.cpp
|
painting/qimagescale_neon.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_target(Gui CONDITION ANDROID AND (x86 OR x86_64)
|
extend_target(Gui CONDITION ANDROID AND (TEST_architecture_arch STREQUAL x86 OR TEST_architecture_arch STREQUAL x86_64)
|
||||||
SOURCES
|
SOURCES
|
||||||
image/qimage_ssse3.cpp
|
image/qimage_ssse3.cpp
|
||||||
painting/qdrawhelper_sse2.cpp
|
painting/qdrawhelper_sse2.cpp
|
||||||
@ -545,7 +545,7 @@ if(UNIX AND NOT ANDROID AND NOT APPLE_UIKIT AND NOT INTEGRITY AND NOT (TEST_arch
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
extend_target(Gui CONDITION ANDROID AND x86_64
|
extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL x86_64
|
||||||
SOURCES
|
SOURCES
|
||||||
painting/qdrawhelper_sse4.cpp
|
painting/qdrawhelper_sse4.cpp
|
||||||
painting/qimagescale_sse4.cpp
|
painting/qimagescale_sse4.cpp
|
||||||
|
@ -553,14 +553,14 @@ if(NOT ANDROID)
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
extend_target(Gui CONDITION ANDROID AND arm64-v8a
|
extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL arm64
|
||||||
SOURCES
|
SOURCES
|
||||||
image/qimage_neon.cpp
|
image/qimage_neon.cpp
|
||||||
painting/qdrawhelper_neon.cpp painting/qdrawhelper_neon_p.h
|
painting/qdrawhelper_neon.cpp painting/qdrawhelper_neon_p.h
|
||||||
painting/qimagescale_neon.cpp
|
painting/qimagescale_neon.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
extend_target(Gui CONDITION ANDROID AND (x86 OR x86_64)
|
extend_target(Gui CONDITION ANDROID AND (TEST_architecture_arch STREQUAL x86 OR TEST_architecture_arch STREQUAL x86_64)
|
||||||
SOURCES
|
SOURCES
|
||||||
image/qimage_ssse3.cpp
|
image/qimage_ssse3.cpp
|
||||||
painting/qdrawhelper_sse2.cpp
|
painting/qdrawhelper_sse2.cpp
|
||||||
@ -636,7 +636,7 @@ if(UNIX AND NOT ANDROID AND NOT APPLE_UIKIT AND NOT INTEGRITY AND NOT (TEST_arch
|
|||||||
)
|
)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
extend_target(Gui CONDITION ANDROID AND x86_64
|
extend_target(Gui CONDITION ANDROID AND TEST_architecture_arch STREQUAL x86_64
|
||||||
SOURCES
|
SOURCES
|
||||||
painting/qdrawhelper_sse4.cpp
|
painting/qdrawhelper_sse4.cpp
|
||||||
painting/qimagescale_sse4.cpp
|
painting/qimagescale_sse4.cpp
|
||||||
|
@ -1012,6 +1012,9 @@ class Scope(object):
|
|||||||
project_relative_path = os.path.relpath(qmake_conf_dir_path, self.currentdir)
|
project_relative_path = os.path.relpath(qmake_conf_dir_path, self.currentdir)
|
||||||
return ["${CMAKE_CURRENT_SOURCE_DIR}/" + project_relative_path]
|
return ["${CMAKE_CURRENT_SOURCE_DIR}/" + project_relative_path]
|
||||||
|
|
||||||
|
if key == "QT_ARCH":
|
||||||
|
return ["${ANDROID_ABI}"]
|
||||||
|
|
||||||
if key == "_PRO_FILE_PWD_":
|
if key == "_PRO_FILE_PWD_":
|
||||||
return ["${CMAKE_CURRENT_SOURCE_DIR}"]
|
return ["${CMAKE_CURRENT_SOURCE_DIR}"]
|
||||||
if key == "PWD":
|
if key == "PWD":
|
||||||
@ -1245,6 +1248,12 @@ def map_condition(condition: str) -> str:
|
|||||||
condition = condition.replace("*-llvm", "CLANG")
|
condition = condition.replace("*-llvm", "CLANG")
|
||||||
condition = condition.replace("win32-*", "WIN32")
|
condition = condition.replace("win32-*", "WIN32")
|
||||||
|
|
||||||
|
# new conditions added by the android multi arch qmake build
|
||||||
|
condition = re.sub(r'x86[^\_]', "TEST_architecture_arch STREQUAL x86", condition)
|
||||||
|
condition = condition.replace('x86_64', "TEST_architecture_arch STREQUAL x86_64")
|
||||||
|
condition = condition.replace('arm64-v8a', "TEST_architecture_arch STREQUAL arm64")
|
||||||
|
condition = condition.replace('armeabi-v7a', "TEST_architecture_arch STREQUAL arm")
|
||||||
|
|
||||||
pattern = r"CONFIG\((debug|release),debug\|release\)"
|
pattern = r"CONFIG\((debug|release),debug\|release\)"
|
||||||
match_result = re.match(pattern, condition)
|
match_result = re.match(pattern, condition)
|
||||||
if match_result:
|
if match_result:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user