use -classpath instead of -bootclasspath param to allow javac to use the default boot class path to support building lambdas, pass the user Android class via -classpath. Task-number: QTBUG-118077 Change-Id: I1ba8274d57e1bd528a1d5b7d779191e7f1412184 Reviewed-by: BogDan Vatra <bogdan@kdab.com> Reviewed-by: Tinja Paavoseppä <tinja.paavoseppa@qt.io>
31 lines
979 B
CMake
31 lines
979 B
CMake
# Copyright (C) 2022 The Qt Company Ltd.
|
|
# SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
# This function can be used to compile java sources into a jar package.
|
|
|
|
function(qt_internal_add_jar target)
|
|
set(options)
|
|
set(oneValueArgs OUTPUT_DIR)
|
|
set(multiValueArgs INCLUDE_JARS SOURCES)
|
|
cmake_parse_arguments(arg "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
|
|
|
|
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 -classpath "${QT_ANDROID_JAR}")
|
|
add_jar(${ARGV})
|
|
|
|
foreach(f IN LISTS arg_SOURCES)
|
|
_qt_internal_expose_source_file_to_ide(${target} "${f}")
|
|
endforeach()
|
|
|
|
endfunction()
|