summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCristian Adam <cristian.adam@gmail.com>2020-06-24 14:40:45 +0200
committerCristian Adam <cristian.adam@gmail.com>2020-08-28 20:37:25 +0200
commit039c2f7a4b326b79e078fca81eed6dedb421c854 (patch)
tree0395deb1b961a9bc811af8b5b6c45c2a56f25825
parent6e7b750791eca9f7502d50ca320a48ad6bcca0d9 (diff)
CMake: Support add_executable for Android
With the ANDROID_GUI target property set on add_executable targets, CMake will generate a lib<target>.so file, which is what Qt requires from a target. By setting CMAKE_RUNTIME_OUTPUT_DIRECTORY with the same value as CMAKE_LIBRARY_OUTPUT_DIRECTORY the ANDROID_GUI case will work as expected in Android multi-abi case. Instead of the following CMake code: if (ANDROID) add_library(test-android SHARED main.cpp qml.qrc ) else() add_executable(test-android main.cpp qml.qrc ) endif() you can have: set(CMAKE_ANDROID_GUI ON) add_executable(test-android main.cpp qml.qrc ) Change-Id: I3995d6ff731d0525ca86f7260fe61d9ecb7b01ac Reviewed-by: Assam Boudjelthia <assam.boudjelthia@qt.io> Reviewed-by: BogDan Vatra <bogdan@kdab.com>
-rw-r--r--src/corelib/Qt5AndroidSupport.cmake1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/corelib/Qt5AndroidSupport.cmake b/src/corelib/Qt5AndroidSupport.cmake
index cb908a29c6..e1e99f1c62 100644
--- a/src/corelib/Qt5AndroidSupport.cmake
+++ b/src/corelib/Qt5AndroidSupport.cmake
@@ -196,6 +196,7 @@ if (NOT ${PROJECT_NAME}-MultiAbiBuild)
set(CMAKE_SHARED_MODULE_SUFFIX_C "_${ANDROID_ABI}.so")
set(CMAKE_SHARED_LIBRARY_SUFFIX_C "_${ANDROID_ABI}.so")
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/android-build/libs/${ANDROID_ABI})
+ set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/android-build/libs/${ANDROID_ABI})
endif()
endforeach()
else()