Skip to content

Commit 4c2c4f6

Browse files
authored
Merge pull request #5707 from tautschnig/java-library-cleanup
Cleanup Java library build
2 parents 2c11501 + 7e460b3 commit 4c2c4f6

File tree

9 files changed

+31
-125
lines changed

9 files changed

+31
-125
lines changed

CMakeLists.txt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -136,7 +136,6 @@ if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR
136136
COMMAND ${CODE_COVERAGE_LCOV} ${LCOV_FLAGS} --remove ${CODE_COVERAGE_INFO_FILE} '/usr/*' --output-file ${CODE_COVERAGE_INFO_FILE}
137137
COMMAND ${CODE_COVERAGE_GENHTML} ${CODE_COVERAGE_INFO_FILE} --output-directory ${CODE_COVERAGE_OUTPUT_DIR}
138138
DEPENDS
139-
java-models-library
140139
"$<TARGET_FILE:java-unit>"
141140
"$<TARGET_FILE:unit>"
142141
"$<TARGET_FILE:goto-harness>"

jbmc/CMakeLists.txt

Lines changed: 22 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,8 @@ add_subdirectory(regression)
22
add_subdirectory(src)
33
add_subdirectory(unit)
44

5-
add_custom_target(java-models-library ALL
6-
COMMAND mvn --quiet -Dmaven.test.skip=true package
7-
COMMAND ${CMAKE_COMMAND} -E copy target/core-models.jar ${CMAKE_CURRENT_SOURCE_DIR}/src/java_bytecode/library/
8-
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/java-models-library
9-
)
10-
115
cprover_default_properties(
126
java_bytecode
13-
java-models-library
147
jbmc
158
jbmc-lib
169
janalyzer
@@ -21,3 +14,25 @@ cprover_default_properties(
2114
java-unit
2215
miniz
2316
)
17+
18+
# java models library
19+
find_program(MAVEN_PROGRAM mvn REQUIRED)
20+
21+
file(GLOB_RECURSE java_models_sources "lib/java-models-library/src/*.java")
22+
23+
add_custom_command(OUTPUT "${CMAKE_CURRENT_SOURCE_DIR}/lib/java-models-library/target/core-models.jar"
24+
COMMAND ${MAVEN_PROGRAM} --quiet -Dmaven.test.skip=true package
25+
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/lib/java-models-library
26+
DEPENDS ${java_models_sources}
27+
)
28+
29+
add_custom_target(java-models-library ALL
30+
DEPENDS "${CMAKE_CURRENT_SOURCE_DIR}/lib/java-models-library/target/core-models.jar"
31+
)
32+
33+
install(
34+
FILES
35+
"${CMAKE_CURRENT_SOURCE_DIR}/lib/java-models-library/target/core-models.jar"
36+
"${CMAKE_CURRENT_SOURCE_DIR}/lib/java-models-library/target/cprover-api.jar"
37+
DESTINATION ${CMAKE_INSTALL_LIBDIR}
38+
)

jbmc/src/java_bytecode/CMakeLists.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
# include here the targets defined in library/
2-
add_subdirectory(library)
3-
41
# target 'java_bytecode' depends on all .cpp and .h files
52
file(GLOB sources "*.cpp")
63
file(GLOB_RECURSE headers "*.h")

jbmc/src/java_bytecode/Makefile

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -68,13 +68,17 @@ all: library java_bytecode$(LIBEXT)
6868

6969
clean: clean_library
7070

71+
LIBRARY_DIR = ../../lib/java-models-library
72+
7173
.PHONY: clean_library
7274
clean_library:
73-
$(MAKE) clean -C library
75+
if [ -d $(LIBRARY_DIR) ]; then cd $(LIBRARY_DIR); mvn --quiet clean; fi
7476

7577
.PHONY: library
7678
library:
77-
$(MAKE) -C library
79+
if [ -d $(LIBRARY_DIR) ]; then \
80+
(cd $(LIBRARY_DIR); mvn --quiet -Dmaven.test.skip=true package); \
81+
fi
7882

7983
###############################################################################
8084

jbmc/src/java_bytecode/library/CMakeLists.txt

Lines changed: 0 additions & 2 deletions
This file was deleted.

jbmc/src/java_bytecode/library/Makefile

Lines changed: 0 additions & 37 deletions
This file was deleted.

jbmc/src/java_bytecode/library/converter.cpp

Lines changed: 0 additions & 72 deletions
This file was deleted.

jbmc/src/java_bytecode/library/module_dependencies.txt

Lines changed: 0 additions & 1 deletion
This file was deleted.

jbmc/src/jbmc/CMakeLists.txt

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,3 +31,6 @@ target_link_libraries(jbmc-lib
3131
add_executable(jbmc jbmc_main.cpp)
3232
target_link_libraries(jbmc jbmc-lib)
3333
install(TARGETS jbmc DESTINATION ${CMAKE_INSTALL_BINDIR})
34+
35+
# make sure java-models-library is built at least once
36+
add_dependencies(jbmc java-models-library)

0 commit comments

Comments
 (0)