diff --git a/Wrapping/Java/CMakeLists.txt b/Wrapping/Java/CMakeLists.txt index 62b39ce332625a57b5172fd4aaf80a182c0cafa9..2d923d9ad9d24ef6fa9c0b2c48948bc658040e56 100644 --- a/Wrapping/Java/CMakeLists.txt +++ b/Wrapping/Java/CMakeLists.txt @@ -275,10 +275,11 @@ install( DESTINATION "${vtk_cmake_destination}" COMPONENT "development") -# We need this for targets that depends in vtkjava to -# delay its source code compilation until the vtkjava JAR file is -# generated. -add_custom_target(vtkjava_jar DEPENDS "$<TARGET_FILE:vtkjava>") +if (CMAKE_GENERATOR MATCHES "Ninja") + # We need this for targets that depends in vtkjava to delay its + # source code compilation until the vtkjava JAR file is generated. + add_custom_target(vtkjava_jar DEPENDS "$<TARGET_FILE:vtkjava>") +endif () if (VTK_BUILD_TESTING AND TARGET VTK::TestingRendering) add_subdirectory(Testing) diff --git a/Wrapping/Java/Testing/Java/CMakeLists.txt b/Wrapping/Java/Testing/Java/CMakeLists.txt index 835935e84e686fe0da3149aabdb97d62c400dcc2..83bfad0688884627c21a2ca166186a3feb1939bf 100644 --- a/Wrapping/Java/Testing/Java/CMakeLists.txt +++ b/Wrapping/Java/Testing/Java/CMakeLists.txt @@ -34,11 +34,17 @@ target_compile_options(vtkjava_tests target_link_libraries(vtkjava_tests PRIVATE VTK::vtkjava) -# Apparently the Java compilation doesn't set up dependencies properly, -# Thus we need to depend on vtkjava_jar which symbolized that the vtkjava -# jar file has been created. This is needed since compiling every java file -# requires to have the jars in the classpath of its dependencies. -add_dependencies(vtkjava_tests vtkjava_jar WrapJava) +if (TARGET vtkjava_jar) + # Apparently the Java compilation doesn't set up dependencies properly, + # Thus we need to depend on vtkjava_jar which symbolized that the vtkjava + # jar file has been created. This is needed since compiling every java file + # requires to have the jars in the classpath of its dependencies. + add_dependencies(vtkjava_tests vtkjava_jar WrapJava) +else () + # If 'vtkjava_jar' doesn't exist, we assume that dependencies are properly + # handled via the 'vtkjava' target for the vtk.jar file + add_dependencies(vtkjava_tests vtkjava) +endif () set(vtk_test_classpath "$<TARGET_FILE:vtkjava_tests>"