aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cmake/platforms/nestedvm.cmake26
1 files changed, 16 insertions, 10 deletions
diff --git a/cmake/platforms/nestedvm.cmake b/cmake/platforms/nestedvm.cmake
index 3f768a4..f400a75 100644
--- a/cmake/platforms/nestedvm.cmake
+++ b/cmake/platforms/nestedvm.cmake
@@ -5,7 +5,8 @@ file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/applet.manifest
"Main-Class: PuzzleApplet\n")
include(FindJava)
-add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/PuzzleApplet.class
+add_custom_target(nvm-puzzle-applet
+ BYPRODUCTS ${CMAKE_BINARY_DIR}/PuzzleApplet.class
COMMAND ${Java_JAVAC_EXECUTABLE}
-source 1.7 -target 1.7 -d . -cp ${NESTEDVM}/build
${CMAKE_SOURCE_DIR}/PuzzleApplet.java
@@ -18,9 +19,12 @@ endfunction()
function(set_platform_gui_target_properties TARGET)
set(build_subdir ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}-tmp)
- add_custom_command(OUTPUT ${build_subdir}
+ add_custom_target(${TARGET}-nvm-build-subdir
+ BYPRODUCTS ${build_subdir}
COMMAND ${CMAKE_COMMAND} -E make_directory ${build_subdir})
- add_custom_command(OUTPUT ${build_subdir}/PuzzleApplet.class
+
+ add_custom_target(${TARGET}-nvm-symlinks
+ BYPRODUCTS ${build_subdir}/PuzzleApplet.class
COMMAND ${CMAKE_SOURCE_DIR}/cmake/glob-symlinks.py
${CMAKE_BINARY_DIR} applet.manifest
${CMAKE_BINARY_DIR} PuzzleApplet\\*.class
@@ -31,17 +35,18 @@ function(set_platform_gui_target_properties TARGET)
${NESTEDVM}/build org/ibex/nestedvm/util/Seekable\\*.class
WORKING_DIRECTORY ${build_subdir}
DEPENDS
- ${build_subdir}
- ${CMAKE_BINARY_DIR}/PuzzleApplet.class
+ ${TARGET}-nvm-build-subdir
+ nvm-puzzle-applet
${CMAKE_SOURCE_DIR}/cmake/glob-symlinks.py)
- add_custom_command(OUTPUT ${build_subdir}/PuzzleEngine.class
+ add_custom_target(${TARGET}-nvm-engine
+ BYPRODUCTS ${build_subdir}/PuzzleEngine.class
COMMAND ${Java_JAVA_EXECUTABLE}
-cp ${NESTEDVM}/build:${NESTEDVM}/upstream/build/classgen/build
org.ibex.nestedvm.Compiler -outformat class -d .
PuzzleEngine ${CMAKE_CURRENT_BINARY_DIR}/${TARGET}
DEPENDS
- ${build_subdir}
+ ${TARGET}-nvm-build-subdir
${CMAKE_CURRENT_BINARY_DIR}/${TARGET}
WORKING_DIRECTORY ${build_subdir})
@@ -51,9 +56,10 @@ function(set_platform_gui_target_properties TARGET)
applet.manifest PuzzleEngine.class PuzzleApplet*.class org
WORKING_DIRECTORY ${build_subdir}
DEPENDS
- ${CMAKE_BINARY_DIR}/PuzzleApplet.class
- ${build_subdir}/PuzzleApplet.class
- ${build_subdir}/PuzzleEngine.class)
+ nvm-puzzle-applet
+ ${TARGET}-nvm-build-subdir
+ ${TARGET}-nvm-symlinks
+ ${TARGET}-nvm-engine)
endfunction()
function(set_platform_puzzle_target_properties NAME TARGET)