Skip to content

Commit 72a6d22

Browse files
authored
[build] Organize cmake files (#6617)
1 parent 8834cb1 commit 72a6d22

File tree

18 files changed

+56
-32
lines changed

18 files changed

+56
-32
lines changed

.gersemirc

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
color: false
2-
definitions: []
2+
definitions: [cmake/modules]
33
line_length: 100
44
list_expansion: favour-inlining
55
quiet: false

CMakeLists.txt

+6-3
Original file line numberDiff line numberDiff line change
@@ -198,6 +198,9 @@ endif()
198198
set(include_dest include)
199199
set(java_lib_dest java)
200200
set(jni_lib_dest jni)
201+
if(WITH_JAVA)
202+
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
203+
endif()
201204

202205
if(USE_SYSTEM_LIBUV)
203206
set(LIBUV_SYSTEM_REPLACE
@@ -284,7 +287,7 @@ set(CMAKE_EXE_LINKER_FLAGS_ASAN
284287
set(CMAKE_SHARED_LINKER_FLAGS_ASAN
285288
"${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=address"
286289
CACHE STRING
287-
"Linker lags to be used to create shared libraries for Asan build type."
290+
"Linker flags to be used to create shared libraries for Asan build type."
288291
FORCE
289292
)
290293

@@ -312,7 +315,7 @@ set(CMAKE_EXE_LINKER_FLAGS_TSAN
312315
set(CMAKE_SHARED_LINKER_FLAGS_TSAN
313316
"${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=thread"
314317
CACHE STRING
315-
"Linker lags to be used to create shared libraries for Tsan build type."
318+
"Linker flags to be used to create shared libraries for Tsan build type."
316319
FORCE
317320
)
318321

@@ -340,7 +343,7 @@ set(CMAKE_EXE_LINKER_FLAGS_UBSAN
340343
set(CMAKE_SHARED_LINKER_FLAGS_UBSAN
341344
"${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -fsanitize=undefined"
342345
CACHE STRING
343-
"Linker lags to be used to create shared libraries for Ubsan build type."
346+
"Linker flags to be used to create shared libraries for Ubsan build type."
344347
FORCE
345348
)
346349

apriltag/CMakeLists.txt

+8-2
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,6 @@ if(WITH_JAVA)
3030
find_package(Java REQUIRED)
3131
find_package(JNI REQUIRED)
3232
include(UseJava)
33-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
3433

3534
set(CMAKE_JNI_TARGET true)
3635

@@ -63,6 +62,7 @@ if(WITH_JAVA)
6362
OUTPUT_NAME apriltag
6463
GENERATE_NATIVE_HEADERS apriltag_jni_headers
6564
)
65+
set_property(TARGET apriltag_jar PROPERTY FOLDER "java")
6666

6767
install_jar(apriltag_jar DESTINATION ${java_lib_dest})
6868
install_jar_exports(TARGETS apriltag_jar FILE apriltag_jar.cmake DESTINATION share/apriltag)
@@ -100,7 +100,13 @@ if(WITH_JAVA_SOURCE)
100100
set_property(TARGET apriltag_src_jar PROPERTY FOLDER "java")
101101
endif()
102102

103-
generate_resources(src/main/native/resources/edu/wpi/first/apriltag generated/main/cpp APRILTAG frc apriltag_resources_src)
103+
generate_resources(
104+
src/main/native/resources/edu/wpi/first/apriltag
105+
generated/main/cpp
106+
APRILTAG
107+
frc
108+
apriltag_resources_src
109+
)
104110

105111
file(GLOB apriltag_native_src src/main/native/cpp/*.cpp)
106112

cameraserver/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,6 @@ find_package(OpenCV REQUIRED)
99
if(WITH_JAVA)
1010
find_package(Java REQUIRED)
1111
include(UseJava)
12-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
1312

1413
#find java files, copy them locally
1514

@@ -30,6 +29,7 @@ if(WITH_JAVA)
3029
INCLUDE_JARS wpiutil_jar cscore_jar ntcore_jar ${OPENCV_JAR_FILE}
3130
OUTPUT_NAME cameraserver
3231
)
32+
set_property(TARGET cameraserver_jar PROPERTY FOLDER "java")
3333

3434
install_jar(cameraserver_jar DESTINATION ${java_lib_dest})
3535
install_jar_exports(

cmake/modules/AddTest.cmake

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@ include(CompileWarnings)
33
macro(wpilib_add_test name srcdir)
44
file(GLOB_RECURSE test_src ${srcdir}/*.cpp)
55
add_executable(${name}_test ${test_src})
6+
set_property(TARGET ${name}_test PROPERTY FOLDER "tests")
67
wpilib_target_warnings(${name}_test)
78
if(BUILD_SHARED_LIBS)
89
target_compile_definitions(${name}_test PRIVATE -DGTEST_LINKED_AS_SHARED_LIBRARY)

cscore/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,6 @@ if(WITH_JAVA)
8484
find_package(Java REQUIRED)
8585
find_package(JNI REQUIRED)
8686
include(UseJava)
87-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
8887

8988
#find java files, copy them locally
9089

@@ -129,6 +128,7 @@ if(WITH_JAVA)
129128
OUTPUT_NAME cscore
130129
GENERATE_NATIVE_HEADERS cscore_jni_headers
131130
)
131+
set_property(TARGET cscore_jar PROPERTY FOLDER "java")
132132

133133
install_jar(cscore_jar DESTINATION ${java_lib_dest})
134134
install_jar_exports(TARGETS cscore_jar FILE cscore_jar.cmake DESTINATION share/cscore)

fieldImages/CMakeLists.txt

+7-1
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,13 @@ if(WITH_JAVA)
3232
set_property(TARGET field_images_jar PROPERTY FOLDER "java")
3333
endif()
3434

35-
generate_resources(src/main/native/resources/edu/wpi/first/fields generated/main/cpp FIELDS fields field_images_resources_src)
35+
generate_resources(
36+
src/main/native/resources/edu/wpi/first/fields
37+
generated/main/cpp
38+
FIELDS
39+
fields
40+
field_images_resources_src
41+
)
3642

3743
add_library(fieldImages src/main/native/cpp/fields.cpp ${field_images_resources_src})
3844
set_target_properties(fieldImages PROPERTIES DEBUG_POSTFIX "d")

hal/CMakeLists.txt

+1-3
Original file line numberDiff line numberDiff line change
@@ -58,9 +58,6 @@ if(WITH_JAVA)
5858
find_package(Java REQUIRED)
5959
find_package(JNI REQUIRED)
6060
include(UseJava)
61-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
62-
63-
configure_file(src/generate/FRCNetComm.java.in FRCNetComm.java)
6461

6562
file(GLOB_RECURSE hal_shared_jni_src src/main/native/cpp/jni/*.cpp)
6663

@@ -74,6 +71,7 @@ if(WITH_JAVA)
7471
OUTPUT_NAME wpiHal
7572
GENERATE_NATIVE_HEADERS hal_jni_headers
7673
)
74+
set_property(TARGET hal_jar PROPERTY FOLDER "java")
7775

7876
install_jar(hal_jar DESTINATION ${java_lib_dest})
7977
install_jar_exports(TARGETS hal_jar FILE hal_jar.cmake DESTINATION share/hal)

ntcore/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,6 @@ if(WITH_JAVA)
4242
find_package(Java REQUIRED)
4343
find_package(JNI REQUIRED)
4444
include(UseJava)
45-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
4645

4746
file(GLOB QUICKBUF_JAR ${WPILIB_BINARY_DIR}/wpiutil/thirdparty/quickbuf/*.jar)
4847

@@ -60,6 +59,7 @@ if(WITH_JAVA)
6059
OUTPUT_NAME ntcore
6160
GENERATE_NATIVE_HEADERS ntcore_jni_headers
6261
)
62+
set_property(TARGET ntcore_jar PROPERTY FOLDER "java")
6363

6464
install_jar(ntcore_jar DESTINATION ${java_lib_dest})
6565
install_jar_exports(TARGETS ntcore_jar FILE ntcore_jar.cmake DESTINATION share/ntcore)

romiVendordep/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ include(AddTest)
77
if(WITH_JAVA)
88
find_package(Java REQUIRED)
99
include(UseJava)
10-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
1110

1211
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
1312
add_jar(
@@ -24,6 +23,7 @@ if(WITH_JAVA)
2423
wpilibj_jar
2524
OUTPUT_NAME romiVendordep
2625
)
26+
set_property(TARGET romiVendordep_jar PROPERTY FOLDER "java")
2727

2828
install_jar(romiVendordep_jar DESTINATION ${java_lib_dest})
2929
install_jar_exports(

wpilibNewCommands/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ include(AddTest)
77
if(WITH_JAVA)
88
find_package(Java REQUIRED)
99
include(UseJava)
10-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
1110

1211
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
1312
add_jar(
@@ -24,6 +23,7 @@ if(WITH_JAVA)
2423
wpilibj_jar
2524
OUTPUT_NAME wpilibNewCommands
2625
)
26+
set_property(TARGET wpilibNewCommands_jar PROPERTY FOLDER "java")
2727

2828
install_jar(wpilibNewCommands_jar DESTINATION ${java_lib_dest})
2929
install_jar_exports(

wpilibcExamples/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ include(AddTest)
44
include(SubDirList)
55

66
subdir_list(TEMPLATES ${CMAKE_SOURCE_DIR}/wpilibcExamples/src/main/cpp/templates)
7-
subdir_list(EXAMPLES ${CMAKE_SOURCE_DIR}/wpilibcExamples/src/main/cpp/examples)
7+
subdir_list(EXAMPLES ${CMAKE_SOURCE_DIR}/wpilibcExamples/src/main/cpp/examples)
88

99
foreach(example ${EXAMPLES})
1010
file(

wpilibj/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,6 @@ if(WITH_JAVA)
55
find_package(OpenCV REQUIRED)
66
find_package(Java REQUIRED)
77
include(UseJava)
8-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
98

109
set(OPENCV_JAVA_INSTALL_DIR ${OpenCV_INSTALL_PATH}/share/OpenCV/java/)
1110

@@ -39,6 +38,7 @@ if(WITH_JAVA)
3938
wpiutil_jar
4039
OUTPUT_NAME wpilibj
4140
)
41+
set_property(TARGET wpilibj_jar PROPERTY FOLDER "java")
4242

4343
install_jar(wpilibj_jar DESTINATION ${java_lib_dest})
4444
install_jar_exports(TARGETS wpilibj_jar FILE wpilibj.cmake DESTINATION share/wpilibj)

wpimath/CMakeLists.txt

+15-8
Original file line numberDiff line numberDiff line change
@@ -33,33 +33,39 @@ if(WITH_JAVA)
3333
find_package(Java REQUIRED)
3434
find_package(JNI REQUIRED)
3535
include(UseJava)
36-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
3736

3837
if(NOT EXISTS "${WPILIB_BINARY_DIR}/wpimath/thirdparty/ejml/ejml-simple-0.43.1.jar")
3938
set(BASE_URL "https://search.maven.org/remotecontent?filepath=")
4039
set(JAR_ROOT "${WPILIB_BINARY_DIR}/wpimath/thirdparty/ejml")
4140

4241
message(STATUS "Downloading EJML jarfiles...")
4342

44-
download_and_check("${BASE_URL}org/ejml/ejml-cdense/0.43.1/ejml-cdense-0.43.1.jar"
43+
download_and_check(
44+
"${BASE_URL}org/ejml/ejml-cdense/0.43.1/ejml-cdense-0.43.1.jar"
4545
"${JAR_ROOT}/ejml-cdense-0.43.1.jar"
4646
)
47-
download_and_check("${BASE_URL}org/ejml/ejml-core/0.43.1/ejml-core-0.43.1.jar"
47+
download_and_check(
48+
"${BASE_URL}org/ejml/ejml-core/0.43.1/ejml-core-0.43.1.jar"
4849
"${JAR_ROOT}/ejml-core-0.43.1.jar"
4950
)
50-
download_and_check("${BASE_URL}org/ejml/ejml-ddense/0.43.1/ejml-ddense-0.43.1.jar"
51+
download_and_check(
52+
"${BASE_URL}org/ejml/ejml-ddense/0.43.1/ejml-ddense-0.43.1.jar"
5153
"${JAR_ROOT}/ejml-ddense-0.43.1.jar"
5254
)
53-
download_and_check("${BASE_URL}org/ejml/ejml-dsparse/0.43.1/ejml-dsparse-0.43.1.jar"
55+
download_and_check(
56+
"${BASE_URL}org/ejml/ejml-dsparse/0.43.1/ejml-dsparse-0.43.1.jar"
5457
"${JAR_ROOT}/ejml-dsparse-0.43.1.jar"
5558
)
56-
download_and_check("${BASE_URL}org/ejml/ejml-fdense/0.43.1/ejml-fdense-0.43.1.jar"
59+
download_and_check(
60+
"${BASE_URL}org/ejml/ejml-fdense/0.43.1/ejml-fdense-0.43.1.jar"
5761
"${JAR_ROOT}/ejml-fdense-0.43.1.jar"
5862
)
59-
download_and_check("${BASE_URL}org/ejml/ejml-simple/0.43.1/ejml-simple-0.43.1.jar"
63+
download_and_check(
64+
"${BASE_URL}org/ejml/ejml-simple/0.43.1/ejml-simple-0.43.1.jar"
6065
"${JAR_ROOT}/ejml-simple-0.43.1.jar"
6166
)
62-
download_and_check("${BASE_URL}org/ejml/ejml-zdense/0.43.1/ejml-zdense-0.43.1.jar"
67+
download_and_check(
68+
"${BASE_URL}org/ejml/ejml-zdense/0.43.1/ejml-zdense-0.43.1.jar"
6369
"${JAR_ROOT}/ejml-zdense-0.43.1.jar"
6470
)
6571

@@ -83,6 +89,7 @@ if(WITH_JAVA)
8389
OUTPUT_NAME wpimath
8490
GENERATE_NATIVE_HEADERS wpimath_jni_headers
8591
)
92+
set_property(TARGET wpimath_jar PROPERTY FOLDER "java")
8693

8794
install_jar(wpimath_jar DESTINATION ${java_lib_dest})
8895
install_jar_exports(TARGETS wpimath_jar FILE wpimath_jar.cmake DESTINATION share/wpimath)

wpinet/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ if(WITH_JAVA)
1212
find_package(Java REQUIRED)
1313
find_package(JNI REQUIRED)
1414
include(UseJava)
15-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
1615

1716
set(CMAKE_JNI_TARGET true)
1817

@@ -25,6 +24,7 @@ if(WITH_JAVA)
2524
OUTPUT_NAME wpinet
2625
GENERATE_NATIVE_HEADERS wpinet_jni_headers
2726
)
27+
set_property(TARGET wpinet_jar PROPERTY FOLDER "java")
2828

2929
install_jar(wpinet_jar DESTINATION ${java_lib_dest})
3030
install_jar_exports(TARGETS wpinet_jar FILE wpinet_jar.cmake DESTINATION share/wpinet)

wpiunits/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,11 +4,11 @@ project(wpiunits)
44
if(WITH_JAVA)
55
find_package(Java REQUIRED)
66
include(UseJava)
7-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
87

98
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
109

1110
add_jar(wpiunits_jar ${JAVA_SOURCES} OUTPUT_NAME wpiunits)
11+
set_property(TARGET wpiunits_jar PROPERTY FOLDER "java")
1212

1313
install_jar(wpiunits_jar DESTINATION ${java_lib_dest})
1414
install_jar_exports(TARGETS wpiunits_jar FILE wpiunits.cmake DESTINATION share/wpiunits)

wpiutil/CMakeLists.txt

+7-4
Original file line numberDiff line numberDiff line change
@@ -17,21 +17,23 @@ if(WITH_JAVA)
1717
find_package(Java REQUIRED)
1818
find_package(JNI REQUIRED)
1919
include(UseJava)
20-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
2120

2221
if(NOT EXISTS "${WPILIB_BINARY_DIR}/wpiutil/thirdparty/jackson/jackson-core-2.15.2.jar")
2322
set(BASE_URL "https://search.maven.org/remotecontent?filepath=")
2423
set(JAR_ROOT "${WPILIB_BINARY_DIR}/wpiutil/thirdparty/jackson")
2524

2625
message(STATUS "Downloading Jackson jarfiles...")
2726

28-
download_and_check("${BASE_URL}com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar"
27+
download_and_check(
28+
"${BASE_URL}com/fasterxml/jackson/core/jackson-core/2.15.2/jackson-core-2.15.2.jar"
2929
"${JAR_ROOT}/jackson-core-2.15.2.jar"
3030
)
31-
download_and_check("${BASE_URL}com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar"
31+
download_and_check(
32+
"${BASE_URL}com/fasterxml/jackson/core/jackson-databind/2.15.2/jackson-databind-2.15.2.jar"
3233
"${JAR_ROOT}/jackson-databind-2.15.2.jar"
3334
)
34-
download_and_check("${BASE_URL}com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar"
35+
download_and_check(
36+
"${BASE_URL}com/fasterxml/jackson/core/jackson-annotations/2.15.2/jackson-annotations-2.15.2.jar"
3537
"${JAR_ROOT}/jackson-annotations-2.15.2.jar"
3638
)
3739

@@ -69,6 +71,7 @@ if(WITH_JAVA)
6971
OUTPUT_NAME wpiutil
7072
GENERATE_NATIVE_HEADERS wpiutil_jni_headers
7173
)
74+
set_property(TARGET wpiutil_jar PROPERTY FOLDER "java")
7275

7376
install_jar(wpiutil_jar DESTINATION ${java_lib_dest})
7477
install_jar_exports(TARGETS wpiutil_jar FILE wpiutil_jar.cmake DESTINATION share/wpiutil)

xrpVendordep/CMakeLists.txt

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@ include(AddTest)
77
if(WITH_JAVA)
88
find_package(Java REQUIRED)
99
include(UseJava)
10-
set(CMAKE_JAVA_COMPILE_FLAGS "-encoding" "UTF8" "-Xlint:unchecked")
1110

1211
file(GLOB_RECURSE JAVA_SOURCES src/main/java/*.java)
1312
add_jar(
@@ -24,6 +23,7 @@ if(WITH_JAVA)
2423
wpilibj_jar
2524
OUTPUT_NAME xrpVendordep
2625
)
26+
set_property(TARGET xrpVendordep_jar PROPERTY FOLDER "java")
2727

2828
install_jar(xrpVendordep_jar DESTINATION ${java_lib_dest})
2929
install_jar_exports(

0 commit comments

Comments
 (0)