[build] Organize cmake files (#6617)

This commit is contained in:
Gold856
2024-05-24 13:48:05 -04:00
committed by GitHub
parent 8834cb1de4
commit 72a6d22d9a
18 changed files with 56 additions and 32 deletions

View File

@@ -1,5 +1,5 @@
color: false
definitions: []
definitions: [cmake/modules]
line_length: 100
list_expansion: favour-inlining
quiet: false

View File

@@ -198,6 +198,9 @@ endif()
set(include_dest include)
set(java_lib_dest java)
set(jni_lib_dest jni)
if(WITH_JAVA)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
endif()
if(USE_SYSTEM_LIBUV)
set(LIBUV_SYSTEM_REPLACE
@@ -284,7 +287,7 @@ set(CMAKE_EXE_LINKER_FLAGS_ASAN
set(CMAKE_SHARED_LINKER_FLAGS_ASAN
"${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=address"
CACHE STRING
"Linker lags to be used to create shared libraries for Asan build type."
"Linker flags to be used to create shared libraries for Asan build type."
FORCE
)
@@ -312,7 +315,7 @@ set(CMAKE_EXE_LINKER_FLAGS_TSAN
set(CMAKE_SHARED_LINKER_FLAGS_TSAN
"${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=thread"
CACHE STRING
"Linker lags to be used to create shared libraries for Tsan build type."
"Linker flags to be used to create shared libraries for Tsan build type."
FORCE
)
@@ -340,7 +343,7 @@ set(CMAKE_EXE_LINKER_FLAGS_UBSAN
set(CMAKE_SHARED_LINKER_FLAGS_UBSAN
"${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=undefined"
CACHE STRING
"Linker lags to be used to create shared libraries for Ubsan build type."
"Linker flags to be used to create shared libraries for Ubsan build type."
FORCE
)

View File

@@ -30,7 +30,6 @@ if(WITH_JAVA)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
set(CMAKE_JNI_TARGET true)
@@ -63,6 +62,7 @@ if(WITH_JAVA)
OUTPUT_NAME apriltag
GENERATE_NATIVE_HEADERS apriltag_jni_headers
)
set_property(TARGET apriltag_jar PROPERTY FOLDER "java")
install_jar(apriltag_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS apriltag_jar FILE apriltag_jar.cmake DESTINATION share/apriltag)
@@ -100,7 +100,13 @@ if(WITH_JAVA_SOURCE)
set_property(TARGET apriltag_src_jar PROPERTY FOLDER "java")
endif()
generate_resources(src/main/native/resources/edu/wpi/first/apriltag generated/main/cpp APRILTAG frc apriltag_resources_src)
generate_resources(
src/main/native/resources/edu/wpi/first/apriltag
generated/main/cpp
APRILTAG
frc
apriltag_resources_src
)
file(GLOB apriltag_native_src src/main/native/cpp/*.cpp)

View File

@@ -9,7 +9,6 @@ find_package(OpenCV REQUIRED)
if(WITH_JAVA)
find_package(Java REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
#find java files, copy them locally
@@ -30,6 +29,7 @@ if(WITH_JAVA)
INCLUDE_JARS wpiutil_jar cscore_jar ntcore_jar ${OPENCV_JAR_FILE}
OUTPUT_NAME cameraserver
)
set_property(TARGET cameraserver_jar PROPERTY FOLDER "java")
install_jar(cameraserver_jar DESTINATION ${java_lib_dest})
install_jar_exports(

View File

@@ -3,6 +3,7 @@ include(CompileWarnings)
macro(wpilib_add_test name srcdir)
file(GLOB_RECURSE test_src ${srcdir}/*.cpp)
add_executable(${name}_test ${test_src})
set_property(TARGET ${name}_test PROPERTY FOLDER "tests")
wpilib_target_warnings(${name}_test)
if(BUILD_SHARED_LIBS)
target_compile_definitions(${name}_test PRIVATE -DGTEST_LINKED_AS_SHARED_LIBRARY)

View File

@@ -84,7 +84,6 @@ if(WITH_JAVA)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
#find java files, copy them locally
@@ -129,6 +128,7 @@ if(WITH_JAVA)
OUTPUT_NAME cscore
GENERATE_NATIVE_HEADERS cscore_jni_headers
)
set_property(TARGET cscore_jar PROPERTY FOLDER "java")
install_jar(cscore_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS cscore_jar FILE cscore_jar.cmake DESTINATION share/cscore)

View File

@@ -32,7 +32,13 @@ if(WITH_JAVA)
set_property(TARGET field_images_jar PROPERTY FOLDER "java")
endif()
generate_resources(src/main/native/resources/edu/wpi/first/fields generated/main/cpp FIELDS fields field_images_resources_src)
generate_resources(
src/main/native/resources/edu/wpi/first/fields
generated/main/cpp
FIELDS
fields
field_images_resources_src
)
add_library(fieldImages src/main/native/cpp/fields.cpp ${field_images_resources_src})
set_target_properties(fieldImages PROPERTIES DEBUG_POSTFIX "d")

View File

@@ -58,9 +58,6 @@ if(WITH_JAVA)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
configure_file(src/generate/FRCNetComm.java.in FRCNetComm.java)
file(GLOB_RECURSE hal_shared_jni_src src/main/native/cpp/jni/*.cpp)
@@ -74,6 +71,7 @@ if(WITH_JAVA)
OUTPUT_NAME wpiHal
GENERATE_NATIVE_HEADERS hal_jni_headers
)
set_property(TARGET hal_jar PROPERTY FOLDER "java")
install_jar(hal_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS hal_jar FILE hal_jar.cmake DESTINATION share/hal)

View File

@@ -42,7 +42,6 @@ if(WITH_JAVA)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
file(GLOB QUICKBUF_JAR ${WPILIB_BINARY_DIR}/wpiutil/thirdparty/quickbuf/*.jar)
@@ -60,6 +59,7 @@ if(WITH_JAVA)
OUTPUT_NAME ntcore
GENERATE_NATIVE_HEADERS ntcore_jni_headers
)
set_property(TARGET ntcore_jar PROPERTY FOLDER "java")
install_jar(ntcore_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS ntcore_jar FILE ntcore_jar.cmake DESTINATION share/ntcore)

View File

@@ -7,7 +7,6 @@ include(AddTest)
if(WITH_JAVA)
find_package(Java REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
add_jar(
@@ -24,6 +23,7 @@ if(WITH_JAVA)
wpilibj_jar
OUTPUT_NAME romiVendordep
)
set_property(TARGET romiVendordep_jar PROPERTY FOLDER "java")
install_jar(romiVendordep_jar DESTINATION ${java_lib_dest})
install_jar_exports(

View File

@@ -7,7 +7,6 @@ include(AddTest)
if(WITH_JAVA)
find_package(Java REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
add_jar(
@@ -24,6 +23,7 @@ if(WITH_JAVA)
wpilibj_jar
OUTPUT_NAME wpilibNewCommands
)
set_property(TARGET wpilibNewCommands_jar PROPERTY FOLDER "java")
install_jar(wpilibNewCommands_jar DESTINATION ${java_lib_dest})
install_jar_exports(

View File

@@ -5,7 +5,6 @@ if(WITH_JAVA)
find_package(OpenCV REQUIRED)
find_package(Java REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
set(OPENCV_JAVA_INSTALL_DIR ${OpenCV_INSTALL_PATH}/share/OpenCV/java/)
@@ -39,6 +38,7 @@ if(WITH_JAVA)
wpiutil_jar
OUTPUT_NAME wpilibj
)
set_property(TARGET wpilibj_jar PROPERTY FOLDER "java")
install_jar(wpilibj_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS wpilibj_jar FILE wpilibj.cmake DESTINATION share/wpilibj)

View File

@@ -33,7 +33,6 @@ if(WITH_JAVA)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
if(NOT EXISTS "${WPILIB_BINARY_DIR}/wpimath/thirdparty/ejml/ejml-simple-0.43.1.jar")
set(BASE_URL "https://search.maven.org/remotecontent?filepath=")
@@ -41,25 +40,32 @@ if(WITH_JAVA)
message(STATUS "Downloading EJML jarfiles...")
download_and_check("${BASE_URL}org/ejml/ejml-cdense/0.43.1/ejml-cdense-0.43.1.jar"
download_and_check(
"${BASE_URL}org/ejml/ejml-cdense/0.43.1/ejml-cdense-0.43.1.jar"
"${JAR_ROOT}/ejml-cdense-0.43.1.jar"
)
download_and_check("${BASE_URL}org/ejml/ejml-core/0.43.1/ejml-core-0.43.1.jar"
download_and_check(
"${BASE_URL}org/ejml/ejml-core/0.43.1/ejml-core-0.43.1.jar"
"${JAR_ROOT}/ejml-core-0.43.1.jar"
)
download_and_check("${BASE_URL}org/ejml/ejml-ddense/0.43.1/ejml-ddense-0.43.1.jar"
download_and_check(
"${BASE_URL}org/ejml/ejml-ddense/0.43.1/ejml-ddense-0.43.1.jar"
"${JAR_ROOT}/ejml-ddense-0.43.1.jar"
)
download_and_check("${BASE_URL}org/ejml/ejml-dsparse/0.43.1/ejml-dsparse-0.43.1.jar"
download_and_check(
"${BASE_URL}org/ejml/ejml-dsparse/0.43.1/ejml-dsparse-0.43.1.jar"
"${JAR_ROOT}/ejml-dsparse-0.43.1.jar"
)
download_and_check("${BASE_URL}org/ejml/ejml-fdense/0.43.1/ejml-fdense-0.43.1.jar"
download_and_check(
"${BASE_URL}org/ejml/ejml-fdense/0.43.1/ejml-fdense-0.43.1.jar"
"${JAR_ROOT}/ejml-fdense-0.43.1.jar"
)
download_and_check("${BASE_URL}org/ejml/ejml-simple/0.43.1/ejml-simple-0.43.1.jar"
download_and_check(
"${BASE_URL}org/ejml/ejml-simple/0.43.1/ejml-simple-0.43.1.jar"
"${JAR_ROOT}/ejml-simple-0.43.1.jar"
)
download_and_check("${BASE_URL}org/ejml/ejml-zdense/0.43.1/ejml-zdense-0.43.1.jar"
download_and_check(
"${BASE_URL}org/ejml/ejml-zdense/0.43.1/ejml-zdense-0.43.1.jar"
"${JAR_ROOT}/ejml-zdense-0.43.1.jar"
)
@@ -83,6 +89,7 @@ if(WITH_JAVA)
OUTPUT_NAME wpimath
GENERATE_NATIVE_HEADERS wpimath_jni_headers
)
set_property(TARGET wpimath_jar PROPERTY FOLDER "java")
install_jar(wpimath_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS wpimath_jar FILE wpimath_jar.cmake DESTINATION share/wpimath)

View File

@@ -12,7 +12,6 @@ if(WITH_JAVA)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
set(CMAKE_JNI_TARGET true)
@@ -25,6 +24,7 @@ if(WITH_JAVA)
OUTPUT_NAME wpinet
GENERATE_NATIVE_HEADERS wpinet_jni_headers
)
set_property(TARGET wpinet_jar PROPERTY FOLDER "java")
install_jar(wpinet_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS wpinet_jar FILE wpinet_jar.cmake DESTINATION share/wpinet)

View File

@@ -4,11 +4,11 @@ project(wpiunits)
if(WITH_JAVA)
find_package(Java REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
add_jar(wpiunits_jar ${JAVA_SOURCES} OUTPUT_NAME wpiunits)
set_property(TARGET wpiunits_jar PROPERTY FOLDER "java")
install_jar(wpiunits_jar DESTINATION ${java_lib_dest})
install_jar_exports(TARGETS wpiunits_jar FILE wpiunits.cmake DESTINATION share/wpiunits)

View File

@@ -17,7 +17,6 @@ if(WITH_JAVA)
find_package(Java REQUIRED)
find_package(JNI REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
if(NOT EXISTS "${WPILIB_BINARY_DIR}/wpiutil/thirdparty/jackson/jackson-core-2.15.2.jar")
set(BASE_URL "https://search.maven.org/remotecontent?filepath=")
@@ -25,13 +24,16 @@ if(WITH_JAVA)
message(STATUS "Downloading Jackson jarfiles...")
download_and_check("${BASE_URL}com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar"
download_and_check(
"${BASE_URL}com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar"
"${JAR_ROOT}/jackson-core-2.15.2.jar"
)
download_and_check("${BASE_URL}com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar"
download_and_check(
"${BASE_URL}com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar"
"${JAR_ROOT}/jackson-databind-2.15.2.jar"
)
download_and_check("${BASE_URL}com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar"
download_and_check(
"${BASE_URL}com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar"
"${JAR_ROOT}/jackson-annotations-2.15.2.jar"
)
@@ -69,6 +71,7 @@ if(WITH_JAVA)
OUTPUT_NAME wpiutil
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)

View File

@@ -7,7 +7,6 @@ include(AddTest)
if(WITH_JAVA)
find_package(Java REQUIRED)
include(UseJava)
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
add_jar(
@@ -24,6 +23,7 @@ if(WITH_JAVA)
wpilibj_jar
OUTPUT_NAME xrpVendordep
)
set_property(TARGET xrpVendordep_jar PROPERTY FOLDER "java")
install_jar(xrpVendordep_jar DESTINATION ${java_lib_dest})
install_jar_exports(