mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[build] Remove cmake Java support (#8952)
This is increasingly difficult to maintain, and has very limited benefit. Modern coprocessors with enough horsepower to run Java applications can use the Gradle or Bazel build systems instead.
This commit is contained in:
@@ -4,109 +4,9 @@ include(SubDirList)
|
||||
include(GenResources)
|
||||
include(CompileWarnings)
|
||||
include(AddTest)
|
||||
include(DownloadAndCheck)
|
||||
|
||||
file(GLOB wpiutil_jni_src src/main/native/cpp/jni/WPIUtilJNI.cpp)
|
||||
|
||||
# Java bindings
|
||||
if(WITH_JAVA)
|
||||
include(UseJava)
|
||||
|
||||
if(NOT EXISTS "${WPILIB_BINARY_DIR}/wpiutil/thirdparty/avaje/avaje-jsonb-3.11.jar")
|
||||
set(BASE_URL "https://search.maven.org/remotecontent?filepath=")
|
||||
set(JAR_ROOT "${WPILIB_BINARY_DIR}/wpiutil/thirdparty/avaje")
|
||||
|
||||
message(STATUS "Downloading Avaje jarfiles...")
|
||||
|
||||
download_and_check(
|
||||
"${BASE_URL}io/avaje/avaje-jsonb/3.11/avaje-jsonb-3.11.jar"
|
||||
"${JAR_ROOT}/avaje-jsonb-3.11.jar"
|
||||
)
|
||||
download_and_check(
|
||||
"${BASE_URL}io/avaje/avaje-json-core/3.11/avaje-json-core-3.11.jar"
|
||||
"${JAR_ROOT}/avaje-json-core-3.11.jar"
|
||||
)
|
||||
download_and_check(
|
||||
"${BASE_URL}io/avaje/avaje-jsonb-inject-plugin/3.11/avaje-jsonb-inject-plugin-3.11.jar"
|
||||
"${JAR_ROOT}/avaje-jsonb-inject-plugin-3.11.jar"
|
||||
)
|
||||
download_and_check(
|
||||
"${BASE_URL}io/avaje/avaje-jsonb-generator/3.11/avaje-jsonb-generator-3.11.jar"
|
||||
"${JAR_ROOT}/avaje-jsonb-generator-3.11.jar"
|
||||
)
|
||||
download_and_check(
|
||||
"${BASE_URL}io/avaje/avaje-spi-service/2.16/avaje-spi-service-2.16.jar"
|
||||
"${JAR_ROOT}/avaje-spi-service-2.16.jar"
|
||||
)
|
||||
download_and_check(
|
||||
"${BASE_URL}io/avaje/avaje-spi-core/2.16/avaje-spi-core-2.16.jar"
|
||||
"${JAR_ROOT}/avaje-spi-core-2.16.jar"
|
||||
)
|
||||
|
||||
message(STATUS "All files downloaded.")
|
||||
endif()
|
||||
|
||||
file(GLOB AVAJE_JARS ${WPILIB_BINARY_DIR}/wpiutil/thirdparty/avaje/*.jar)
|
||||
|
||||
if(NOT EXISTS "${WPILIB_BINARY_DIR}/wpiutil/thirdparty/quickbuf/quickbuf-runtime-1.4.jar")
|
||||
set(BASE_URL "https://search.maven.org/remotecontent?filepath=")
|
||||
set(JAR_ROOT "${WPILIB_BINARY_DIR}/wpiutil/thirdparty/quickbuf")
|
||||
|
||||
message(STATUS "Downloading Quickbuf jarfile...")
|
||||
download_and_check(
|
||||
"${BASE_URL}us/hebi/quickbuf/quickbuf-runtime/1.4/quickbuf-runtime-1.4.jar"
|
||||
"${JAR_ROOT}/quickbuf-runtime-1.4.jar"
|
||||
)
|
||||
|
||||
message(STATUS "Downloaded.")
|
||||
endif()
|
||||
|
||||
file(GLOB QUICKBUF_JAR ${WPILIB_BINARY_DIR}/wpiutil/thirdparty/quickbuf/*.jar)
|
||||
|
||||
set(CMAKE_JNI_TARGET true)
|
||||
|
||||
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
|
||||
|
||||
add_jar(
|
||||
wpiutil_jar
|
||||
${JAVA_SOURCES}
|
||||
INCLUDE_JARS ${AVAJE_JARS} ${QUICKBUF_JAR}
|
||||
OUTPUT_NAME wpiutil
|
||||
OUTPUT_DIR ${WPILIB_BINARY_DIR}/${java_lib_dest}
|
||||
GENERATE_NATIVE_HEADERS wpiutil_jni_headers
|
||||
)
|
||||
set_property(TARGET wpiutil_jar PROPERTY FOLDER "java")
|
||||
|
||||
install_jar(wpiutil_jar DESTINATION ${java_lib_dest})
|
||||
install_jar_exports(TARGETS wpiutil_jar FILE wpiutil_jar.cmake DESTINATION share/wpiutil)
|
||||
|
||||
add_library(wpiutiljni ${wpiutil_jni_src})
|
||||
wpilib_target_warnings(wpiutiljni)
|
||||
target_link_libraries(wpiutiljni PUBLIC wpiutil)
|
||||
|
||||
set_property(TARGET wpiutiljni PROPERTY FOLDER "libraries")
|
||||
|
||||
target_link_libraries(wpiutiljni PRIVATE wpiutil_jni_headers)
|
||||
add_dependencies(wpiutiljni wpiutil_jar)
|
||||
|
||||
install(TARGETS wpiutiljni EXPORT wpiutiljni)
|
||||
export(TARGETS wpiutiljni FILE wpiutiljni.cmake NAMESPACE wpiutiljni::)
|
||||
endif()
|
||||
|
||||
if(WITH_JAVA_SOURCE)
|
||||
include(UseJava)
|
||||
include(CreateSourceJar)
|
||||
add_source_jar(
|
||||
wpiutil_src_jar
|
||||
BASE_DIRECTORIES ${CMAKE_CURRENT_SOURCE_DIR}/src/main/java
|
||||
OUTPUT_NAME wpiutil-sources
|
||||
OUTPUT_DIR ${WPILIB_BINARY_DIR}/${java_lib_dest}
|
||||
)
|
||||
set_property(TARGET wpiutil_src_jar PROPERTY FOLDER "java")
|
||||
|
||||
install_jar(wpiutil_src_jar DESTINATION ${java_lib_dest})
|
||||
endif()
|
||||
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
|
||||
|
||||
@@ -10,6 +10,3 @@ endif()
|
||||
|
||||
@FILENAME_DEP_REPLACE@
|
||||
include(${SELF_DIR}/wpiutil.cmake)
|
||||
if(@WITH_JAVA@)
|
||||
include(${SELF_DIR}/wpiutil_jar.cmake)
|
||||
endif()
|
||||
|
||||
Reference in New Issue
Block a user