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>
bb10
parent
6e7b750791
commit
039c2f7a4b
|
|
@ -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()
|
||||
|
|
|
|||
Loading…
Reference in New Issue