cmake_minimum_required (VERSION 2.8.6) PROJECT (HDFJAVA_NCSA_HDF_VIEW) SET (CMAKE_VERBOSE_MAKEFILE 1) INCLUDE_DIRECTORIES ( ${JAVA_NCSA_HDF_HDF4_BINARY_DIR} ${JAVA_NCSA_HDF_HDF5_BINARY_DIR} ${JAVA_NCSA_HDF_OBJECT_BINARY_DIR} ${HDFJAVA_LIB_DIR} ) SET (HDFJAVA_NCSA_HDF_VIEW_SRCS Chart.java DataOptionDialog.java DataView.java DefaultFileFilter.java DefaultImageView.java DefaultMetaDataView.java DefaultPaletteView.java DefaultTableView.java DefaultTextView.java DefaultTreeView.java FileConversionDialog.java HDFView.java HelpView.java ImageView.java MathConversionDialog.java MetaDataView.java NewAttributeDialog.java NewDatasetDialog.java NewDatatypeDialog.java NewFileDialog.java NewGroupDialog.java NewImageDialog.java NewLinkDialog.java NewTableDataDialog.java PaletteView.java TableView.java TextView.java Tools.java TreeView.java UserOptionsDialog.java ViewManager.java ViewProperties.java ) SET (HDFJAVA_NCSA_HDF_VIEW_ICONS icons/animation.gif icons/apps.gif icons/audio.gif icons/autocontrast.gif icons/blank.gif icons/brightness.gif icons/chart.gif icons/copy.gif icons/cut.gif icons/dataset.gif icons/datasetA.gif icons/datatype.gif icons/datatypeA.gif icons/fileclose.gif icons/filenew.gif icons/fileopen.gif icons/filesave.gif icons/first.gif icons/folderclose.gif icons/foldercloseA.gif icons/folderopen.gif icons/folderopenA.gif icons/hdf_large.gif icons/hdf.gif icons/hdf32.gif icons/hdf32.icns icons/hdf32.png icons/hdf4.gif icons/hdf5.gif icons/help.gif icons/image.gif icons/imageA.gif icons/last.gif icons/link.gif icons/next.gif icons/palette.gif icons/paste.gif icons/pdf.gif icons/previous.gif icons/question.gif icons/table.gif icons/tableA.gif icons/text.gif icons/textA.gif icons/txt.gif icons/url.gif icons/video.gif icons/xls.gif icons/zoomin.gif icons/zoomout.gif ) SET (HDFJAVA_NCSA_HDF_VIEW_HTML NewAttrHelp.html NewDatsetHelp.html ) SET (CMAKE_JAVA_INCLUDE_PATH ${CMAKE_JAVA_INCLUDE_PATH} ${HDFJAVA_JARS_TO_EXPORT} ) INCLUDE_DIRECTORIES (${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${HDFJAVA_NCSA_VIEW_LIB_CORENAME}.dir/ncsa/hdf/object) SET (CMAKE_JAVA_RESOURCE_PATH "ncsa/hdf/view") ADD_JAR (${HDFJAVA_NCSA_VIEW_LIB_TARGET} ${HDFJAVA_NCSA_HDF_VIEW_SRCS} ${HDFJAVA_NCSA_HDF_VIEW_ICONS}) INSTALL_JAR (${HDFJAVA_NCSA_VIEW_LIB_TARGET} ${HJAVA_INSTALL_LIB_DIR} apps) GET_TARGET_PROPERTY(${HDFJAVA_NCSA_VIEW_LIB_TARGET}_JAR_FILE ${HDFJAVA_NCSA_VIEW_LIB_TARGET} JAR_FILE) SET_GLOBAL_VARIABLE (HDFJAVA_HDFVIEWJAR_TO_EXPORT "${HDFJAVA_HDFVIEWJAR_TO_EXPORT};${${HDFJAVA_NCSA_VIEW_LIB_TARGET}_JAR_FILE}") ADD_DEPENDENCIES (${HDFJAVA_NCSA_VIEW_LIB_TARGET} ${HDFJAVA_NCSA_OBJECT_LIB_TARGET}) IF (UNIX) SET (HDFVIEW_SCRIPT "hdfview.sh") ELSE (UNIX) SET (HDFVIEW_SCRIPT "hdfview.bat") ENDIF (UNIX) IF (WIN32 AND NOT CYGWIN) SET (CMAKE_JAVA_INCLUDE_FLAG_SEP ";") SET (CMAKE_JAVA_PATH_EXPORT "set PATH=@CMAKE_INSTALL_PREFIX@/lib;%PATH%") ELSE (WIN32 AND NOT CYGWIN) SET (CMAKE_JAVA_INCLUDE_FLAG_SEP ":") SET (CMAKE_JAVA_PATH_EXPORT "export LD_LIBRARY_PATH=@CMAKE_INSTALL_PREFIX@/lib:$LD_LIBRARY_PATH") ENDIF (WIN32 AND NOT CYGWIN) SET (HDFVIEW_CLASSPATH "${HDFVIEW_CLASSPATH}@CMAKE_INSTALL_PREFIX@/lib") FOREACH (HCP_JAR ${HDFJAVA_JARS_TO_EXPORT}) GET_FILENAME_COMPONENT (_HCP_FILE ${HCP_JAR} NAME) SET (HDFVIEW_CLASSPATH "@CMAKE_INSTALL_PREFIX@/lib/${_HCP_FILE}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${HDFVIEW_CLASSPATH}") ENDFOREACH (HCP_JAR ${HDFJAVA_JARS_TO_EXPORT}) FOREACH (HCP_JAR ${HDFJAVA_HDFVIEWJAR_TO_EXPORT}) GET_FILENAME_COMPONENT (_HCP_FILE ${HCP_JAR} NAME) SET (HDFVIEW_CLASSPATH "@CMAKE_INSTALL_PREFIX@/lib/${_HCP_FILE}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${HDFVIEW_CLASSPATH}") ENDFOREACH (HCP_JAR ${HDFJAVA_HDFVIEWJAR_TO_EXPORT}) FILE (WRITE ${HDFJAVA_NCSA_HDF_VIEW_BINARY_DIR}/${HDFVIEW_SCRIPT}.cmake.in "${CMAKE_JAVA_PATH_EXPORT} ${CMAKE_Java_RUNTIME} -Xmx1024M -Djava.library.path=\"@CMAKE_INSTALL_PREFIX@/lib\" -Dhdfview.root=\"@CMAKE_INSTALL_PREFIX@/lib\" -cp \"${HDFVIEW_CLASSPATH}\" ncsa.hdf.view.HDFView -root \"@CMAKE_INSTALL_PREFIX@/share\" " ) CONFIGURE_FILE ( ${HDFJAVA_NCSA_HDF_VIEW_BINARY_DIR}/${HDFVIEW_SCRIPT}.cmake.in ${HDFJAVA_NCSA_HDF_VIEW_BINARY_DIR}/${HDFVIEW_SCRIPT} @ONLY ) IF (BUILD_TESTING) IF (UNIX) SET (HDFVIEW_TEST_SCRIPT "thdfview.sh") ELSE (UNIX) SET (HDFVIEW_TEST_SCRIPT "thdfview.bat") ENDIF (UNIX) SET (HDFVIEW_TEST_CLASSPATH "${HDFVIEW_CLASSPATH}${CMAKE_SOURCE_DIR}/lib") FOREACH (HCP_JAR ${HDFJAVA_JARS_TO_EXPORT}) SET (HDFVIEW_TEST_CLASSPATH "${HCP_JAR}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${HDFVIEW_TEST_CLASSPATH}") ENDFOREACH (HCP_JAR ${HDFJAVA_JARS_TO_EXPORT}) FOREACH (HCP_JAR ${HDFJAVA_HDFVIEWJAR_TO_EXPORT}) SET (HDFVIEW_TEST_CLASSPATH "${HCP_JAR}${CMAKE_JAVA_INCLUDE_FLAG_SEP}${HDFVIEW_TEST_CLASSPATH}") ENDFOREACH (HCP_JAR ${HDFJAVA_HDFVIEWJAR_TO_EXPORT}) FILE (WRITE ${HDFJAVA_NCSA_HDF_VIEW_BINARY_DIR}/${HDFVIEW_TEST_SCRIPT}.cmake.in "${CMAKE_JAVA_PATH_EXPORT} ${CMAKE_Java_RUNTIME} -Xmx1024M -Djava.library.path=${CMAKE_RUNTIME_OUTPUT_DIRECTORY} -Dhdfview.root=${PROJECT_BINARY_DIR} -cp \"${HDFVIEW_TEST_CLASSPATH}\" ncsa.hdf.view.HDFView -root ${PROJECT_BINARY_DIR} " ) CONFIGURE_FILE ( ${HDFJAVA_NCSA_HDF_VIEW_BINARY_DIR}/${HDFVIEW_TEST_SCRIPT}.cmake.in ${HDFJAVA_NCSA_HDF_VIEW_BINARY_DIR}/${HDFVIEW_TEST_SCRIPT} @ONLY ) ENDIF (BUILD_TESTING) INSTALL ( FILES ${HDFJAVA_NCSA_HDF_VIEW_BINARY_DIR}/${HDFVIEW_SCRIPT} DESTINATION ${HJAVA_INSTALL_BIN_DIR} COMPONENT apps PERMISSIONS OWNER_WRITE OWNER_READ OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_EXECUTE )