diff options
author | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2020-09-11 20:28:01 +0300 |
---|---|---|
committer | Assam Boudjelthia <assam.boudjelthia@qt.io> | 2020-09-16 20:55:16 +0300 |
commit | b9c85d6b0e274bf0a6287cd56d9e3d7376b0d004 (patch) | |
tree | 382838fe1e22a48addbd3fe65f0a0167a213f820 /cmake | |
parent | 581ac9a4add648412a220ee3edc3553c9edae06d (diff) |
CMake: build add flags for building QtAndroid.jar
Adds -source, -target, -Xlint:unchecked, -bootclasspath flags.
Setting default javac build source and target versions to 8.
Allow setting custom values for javac build versions via
-DQT_ANDROID_JAVAC_SOURCE, and -DQT_ANDROID_JAVAC_TARGET.
Task-number: QTBUG-86282
Change-Id: I98f4f193ac96016dc722d178594d7fd401202f68
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'cmake')
-rw-r--r-- | cmake/QtBaseGlobalTargets.cmake | 1 | ||||
-rw-r--r-- | cmake/QtBuild.cmake | 1 | ||||
-rw-r--r-- | cmake/QtJavaHelpers.cmake | 18 | ||||
-rw-r--r-- | cmake/QtProcessConfigureArgs.cmake | 2 | ||||
-rw-r--r-- | cmake/configure-cmake-mapping.md | 2 |
5 files changed, 24 insertions, 0 deletions
diff --git a/cmake/QtBaseGlobalTargets.cmake b/cmake/QtBaseGlobalTargets.cmake index 5ffba66a77..dae6cb5d13 100644 --- a/cmake/QtBaseGlobalTargets.cmake +++ b/cmake/QtBaseGlobalTargets.cmake @@ -465,6 +465,7 @@ qt_copy_or_install(FILES cmake/QtTargetHelpers.cmake cmake/QtTestHelpers.cmake cmake/QtToolHelpers.cmake + cmake/QtJavaHelpers.cmake DESTINATION "${__GlobalConfig_install_dir}" ) diff --git a/cmake/QtBuild.cmake b/cmake/QtBuild.cmake index 92b4e7e400..3cb614d8a9 100644 --- a/cmake/QtBuild.cmake +++ b/cmake/QtBuild.cmake @@ -477,6 +477,7 @@ include(QtTargetHelpers) include(QtTestHelpers) include(QtToolHelpers) include(QtHeadersClean) +include(QtJavaHelpers) # This sets up the scope finalizer mechanism. variable_watch(CMAKE_CURRENT_LIST_DIR qt_watch_current_list_dir) diff --git a/cmake/QtJavaHelpers.cmake b/cmake/QtJavaHelpers.cmake new file mode 100644 index 0000000000..f362cb3863 --- /dev/null +++ b/cmake/QtJavaHelpers.cmake @@ -0,0 +1,18 @@ +# This function can be used to compile java sources into a jar package. + +function(qt_internal_add_jar target) + + set(javac_target_version "${QT_ANDROID_JAVAC_TARGET}") + if (NOT javac_target_version) + set(javac_target_version "8") + endif() + + set(javac_source_version "${QT_ANDROID_JAVAC_SOURCE}") + if (NOT javac_source_version) + set(javac_source_version "8") + endif() + + set(CMAKE_JAVA_COMPILE_FLAGS -source "${javac_source_version}" -target "${javac_target_version}" -Xlint:unchecked -bootclasspath "${QT_ANDROID_JAR}") + add_jar(${ARGV}) + +endfunction() diff --git a/cmake/QtProcessConfigureArgs.cmake b/cmake/QtProcessConfigureArgs.cmake index eac9bff144..44ac0cc341 100644 --- a/cmake/QtProcessConfigureArgs.cmake +++ b/cmake/QtProcessConfigureArgs.cmake @@ -556,6 +556,8 @@ endif() translate_string_input(platform QT_QMAKE_TARGET_MKSPEC) translate_string_input(xplatform QT_QMAKE_TARGET_MKSPEC) translate_string_input(qpa_default_platform QT_QPA_DEFAULT_PLATFORM) +translate_string_input(android-javac-source QT_ANDROID_JAVAC_SOURCE) +translate_string_input(android-javac-target QT_ANDROID_JAVAC_TARGET) drop_input(make) drop_input(nomake) diff --git a/cmake/configure-cmake-mapping.md b/cmake/configure-cmake-mapping.md index 780bbebef4..5a102f8d0e 100644 --- a/cmake/configure-cmake-mapping.md +++ b/cmake/configure-cmake-mapping.md @@ -96,6 +96,8 @@ The effort of this is tracked in QTBUG-85373 and QTBUG-85349. | -android-ndk-host | | | | -android-abis | | | | -android-style-assets | | | +| -android-javac-source | -DQT_ANDROID_JAVAC_SOURCE=7 | Set the javac build source version. | +| -android-javac-target | -DQT_ANDROID_JAVAC_TARGET=7 | Set the javac build target version. | | -skip <repo> | -DBUILD_<repo>=OFF | | | -make <part> | -DBUILD_TESTING=ON | A way to turn on tools explicitly is missing. | | | -DBUILD_EXAMPLES=ON | | |