diff --git a/applications/jpip/Makefile.nix b/applications/jpip/Makefile.nix
deleted file mode 100644
index 479f02e4..00000000
--- a/applications/jpip/Makefile.nix
+++ /dev/null
@@ -1,11 +0,0 @@
-default: t_libopenjpip t_util
-
-t_libopenjpip:
- make -C libopenjpip -f Makefile.nix
-
-t_util:
- make -C util -f Makefile.nix
-
-clean:
- make clean -C libopenjpip -f Makefile.nix
- make clean -C util -f Makefile.nix
diff --git a/applications/jpip/libopenjpip/Makefile.nix b/applications/jpip/libopenjpip/Makefile.nix
deleted file mode 100644
index 830734a8..00000000
--- a/applications/jpip/libopenjpip/Makefile.nix
+++ /dev/null
@@ -1,10 +0,0 @@
-default: local server
-
-local:
- make -f comMakefile.mk
-
-server:
- rm *.o && make jpipserver=yes -f comMakefile.mk
-
-clean:
- rm -f *.a *.o *~
diff --git a/applications/jpip/util/CMakeLists.txt b/applications/jpip/util/CMakeLists.txt
index 1eff3346..d37ae1f8 100644
--- a/applications/jpip/util/CMakeLists.txt
+++ b/applications/jpip/util/CMakeLists.txt
@@ -45,3 +45,83 @@ FOREACH(exe ${EXES})
DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
)
ENDFOREACH(exe)
+
+# Build the two java clients:
+FIND_PACKAGE(Java 1.5 REQUIRED) # javac, jar
+
+# 1. opj_viewer
+# build dep list:
+file(GLOB java1_srcs "opj_viewer/src/*.java")
+
+# make sure target javac dir exists:
+file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes1)
+# Build java
+ADD_CUSTOM_COMMAND(
+ OUTPUT ${LIBRARY_OUTPUT_PATH}/opj_viewer.jar
+ COMMAND ${Java_JAVAC_EXECUTABLE}
+ ${java1_srcs} -d ${CMAKE_CURRENT_BINARY_DIR}/classes1
+ COMMAND ${Java_JAR_EXECUTABLE} cfm ${LIBRARY_OUTPUT_PATH}/opj_viewer.jar
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/dist/manifest.txt -C
+ ${CMAKE_CURRENT_BINARY_DIR}/classes1 .
+ DEPENDS ${java1_srcs}
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/dist/manifest.txt
+ COMMENT "javac *.java; jar cvf -> opj_viewer.jar"
+)
+
+# name the target
+ADD_CUSTOM_TARGET(OPJViewerJar ALL
+ DEPENDS ${LIBRARY_OUTPUT_PATH}/opj_viewer.jar
+ COMMENT "building opj_viewer.jar"
+)
+
+# 2. opj_viewer_xerces
+# search for package org.apache.xerces.parsers
+find_file(APACHE_XERCES_JAR
+ NAMES xerces-j2.jar xercesImpl.jar
+ PATHS /usr/share/java/
+ NO_DEFAULT_PATH
+ )
+mark_as_advanced(APACHE_XERCES_JAR)
+
+if(EXISTS ${APACHE_XERCES_JAR})
+ configure_file(
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer_xerces/dist/manifest.txt.in
+ ${CMAKE_CURRENT_BINARY_DIR}/opj_viewer_xerces/dist/manifest.txt
+ @ONLY
+ )
+ # build dep list:
+ file(GLOB java2_srcs "opj_viewer_xerces/src/*.java")
+
+ # Need some common files:
+ list(APPEND java2_srcs
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/src/ImageManager.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/src/ImgdecClient.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/src/JPIPHttpClient.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/src/MML.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/src/PnmImage.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/src/RegimViewer.java
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer/src/ResizeListener.java
+ )
+
+ # make sure target javac dir exists:
+ file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/classes2)
+ # Build java
+ ADD_CUSTOM_COMMAND(
+ OUTPUT ${LIBRARY_OUTPUT_PATH}/opj_viewer_xerces.jar
+ COMMAND ${Java_JAVAC_EXECUTABLE}
+ -classpath ${APACHE_XERCES_JAR}
+ ${java2_srcs} -d ${CMAKE_CURRENT_BINARY_DIR}/classes2
+ COMMAND ${Java_JAR_EXECUTABLE} cfm ${LIBRARY_OUTPUT_PATH}/opj_viewer_xerces.jar
+ ${CMAKE_CURRENT_BINARY_DIR}/opj_viewer_xerces/dist/manifest.txt
+ -C ${CMAKE_CURRENT_BINARY_DIR}/classes2 .
+ DEPENDS ${java2_srcs}
+ ${CMAKE_CURRENT_SOURCE_DIR}/opj_viewer_xerces/dist/manifest.txt.in
+ COMMENT "javac *.java; jar cvf -> opj_viewer_xerces.jar"
+ )
+
+ # name the target
+ ADD_CUSTOM_TARGET(OPJViewerXercesJar ALL
+ DEPENDS ${LIBRARY_OUTPUT_PATH}/opj_viewer_xerces.jar
+ COMMENT "building opj_viewer_xerces.jar"
+ )
+endif()
diff --git a/applications/jpip/util/Makefile.nix b/applications/jpip/util/Makefile.nix
deleted file mode 100644
index 558a35db..00000000
--- a/applications/jpip/util/Makefile.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-JPIPLIBDIR = ../libopenjpip
-
-SLIBFNAME = $(JPIPLIBDIR)/libopenjpip_server.a
-SCFLAGS = -O3 -Wall -m32 -I$(JPIPLIBDIR) -DSERVER -DQUIT_SIGNAL=\"quitJPIP\"
-SLDFLAGS = -L$(JPIPLIBDIR) -lm -lfcgi -lcurl -lpthread -lopenjpip_server
-
-J2KINCDIR = ../../../libopenjpeg
-J2KLIBDIR = $(J2KINCDIR)/.libs
-LIBFNAME = $(JPIPLIBDIR)/libopenjpip_local.a $(J2KLIBDIR)/libopenjpeg.a
-CFLAGS = -O3 -Wall -I$(JPIPLIBDIR)
-LDFLAGS = -L$(JPIPLIBDIR) -L$(J2KLIBDIR) -lm -lopenjpip_local
-
-ALL = opj_server opj_dec_server jpip_to_jp2 jpip_to_j2k test_index addXMLinJP2
-
-all: $(ALL)
-
-opj_server: opj_server.c $(SLIBFNAME)
- $(CC) $(SCFLAGS) $< $(SLDFLAGS) $(SLIBFNAME) -o $@
-
-opj_dec_server: opj_dec_server.c $(LIBFNAME)
- $(CC) $(CFLAGS) $< $(LDFLAGS) $(LIBFNAME) -o $@
-
-jpip_to_jp2: jpip_to_jp2.c $(LIBFNAME)
- $(CC) $(CFLAGS) $< $(LDFLAGS) $(LIBFNAME) -o $@
-
-jpip_to_j2k: jpip_to_j2k.c $(LIBFNAME)
- $(CC) $(CFLAGS) $< $(LDFLAGS) $(LIBFNAME) -o $@
-
-test_index: test_index.c $(LIBFNAME)
- $(CC) $(CFLAGS) $< $(LDFLAGS) $(LIBFNAME) -o $@
-
-clean:
- rm -f $(ALL) *.o *~
diff --git a/applications/jpip/util/opj_viewer/build.xml b/applications/jpip/util/opj_viewer/build.xml
deleted file mode 100644
index 0608132a..00000000
--- a/applications/jpip/util/opj_viewer/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
- OpenJPIP client image viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/applications/jpip/util/opj_viewer/src/ImageManager.java b/applications/jpip/util/opj_viewer/src/ImageManager.java
index 744d2060..5251d03c 100644
--- a/applications/jpip/util/opj_viewer/src/ImageManager.java
+++ b/applications/jpip/util/opj_viewer/src/ImageManager.java
@@ -131,4 +131,4 @@ public class ImageManager extends JPIPHttpClient
super.closeChannel();
}
}
-}
\ No newline at end of file
+}
diff --git a/applications/jpip/util/opj_viewer/src/PnmImage.java b/applications/jpip/util/opj_viewer/src/PnmImage.java
index 87ac256a..092acecb 100644
--- a/applications/jpip/util/opj_viewer/src/PnmImage.java
+++ b/applications/jpip/util/opj_viewer/src/PnmImage.java
@@ -151,4 +151,4 @@ public class PnmImage extends Component
return createImage(prod);
}
-}
\ No newline at end of file
+}
diff --git a/applications/jpip/util/opj_viewer/src/RegimViewer.java b/applications/jpip/util/opj_viewer/src/RegimViewer.java
index 7de6307b..57c54c57 100644
--- a/applications/jpip/util/opj_viewer/src/RegimViewer.java
+++ b/applications/jpip/util/opj_viewer/src/RegimViewer.java
@@ -111,4 +111,4 @@ public class RegimViewer extends JPanel
{
return (new Dimension( vw, vh));
}
-}
\ No newline at end of file
+}
diff --git a/applications/jpip/util/opj_viewer/src/ResizeListener.java b/applications/jpip/util/opj_viewer/src/ResizeListener.java
index a7a8d7e9..fce8a4ff 100644
--- a/applications/jpip/util/opj_viewer/src/ResizeListener.java
+++ b/applications/jpip/util/opj_viewer/src/ResizeListener.java
@@ -64,4 +64,4 @@ class ResizeListener implements ComponentListener
}
public void componentShown(ComponentEvent e) {}
-}
\ No newline at end of file
+}
diff --git a/applications/jpip/util/opj_viewer_xerces/build.xml b/applications/jpip/util/opj_viewer_xerces/build.xml
deleted file mode 100644
index 08a177f4..00000000
--- a/applications/jpip/util/opj_viewer_xerces/build.xml
+++ /dev/null
@@ -1,35 +0,0 @@
-
- OpenJPIP client image viewer
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/applications/jpip/util/opj_viewer_xerces/dist/manifest.txt b/applications/jpip/util/opj_viewer_xerces/dist/manifest.txt.in
similarity index 71%
rename from applications/jpip/util/opj_viewer_xerces/dist/manifest.txt
rename to applications/jpip/util/opj_viewer_xerces/dist/manifest.txt.in
index 6bba2ab8..c7ba9f36 100644
--- a/applications/jpip/util/opj_viewer_xerces/dist/manifest.txt
+++ b/applications/jpip/util/opj_viewer_xerces/dist/manifest.txt.in
@@ -2,4 +2,4 @@ Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.0
Created-By: Kaori Hagihara
Main-Class: ImageWindow
-Class-Path: /usr/share/java/xerces-j2.jar
+Class-Path: @APACHE_XERCES_JAR@