mirror of
https://github.com/wpilibsuite/allwpilib
synced 2026-06-19 00:41:43 +00:00
[build] Organize cmake files (#6617)
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
color: false
|
||||
definitions: []
|
||||
definitions: [cmake/modules]
|
||||
line_length: 100
|
||||
list_expansion: favour-inlining
|
||||
quiet: false
|
||||
|
||||
@@ -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
|
||||
)
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -4,7 +4,7 @@ include(AddTest)
|
||||
include(SubDirList)
|
||||
|
||||
subdir_list(TEMPLATES ${CMAKE_SOURCE_DIR}/wpilibcExamples/src/main/cpp/templates)
|
||||
subdir_list(EXAMPLES ${CMAKE_SOURCE_DIR}/wpilibcExamples/src/main/cpp/examples)
|
||||
subdir_list(EXAMPLES ${CMAKE_SOURCE_DIR}/wpilibcExamples/src/main/cpp/examples)
|
||||
|
||||
foreach(example ${EXAMPLES})
|
||||
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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in New Issue
Block a user