cmake_minimum_required (VERSION 2.8.10)
PROJECT (HDFJAVA_NCSA_HDF_OBJECT)

set (CMAKE_VERBOSE_MAKEFILE 1)

INCLUDE_DIRECTORIES (
    ${HDFJAVA_NCSA_HDF_OBJECT_SOURCE_DIR}
    ${HDFJAVA_NCSA_HDF_OBJECT_BINARY_DIR}
    ${HDFJAVA_LIB_DIR}
    ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${HDFJAVA_NCSA_OBJECT_LIB_CORENAME}.dir/ncsa/hdf/object
)

SET_GLOBAL_VARIABLE (HDFJAVA_SOURCE_PACKAGES
    "${HDFJAVA_SOURCE_PACKAGES};ncsa.hdf.object;ncsa.hdf.object.h4;ncsa.hdf.object.h5"
)

set (HDFJAVA_NCSA_HDF_OBJECT_SRCS
    Attribute.java
    CompoundDS.java
    DataFormat.java
    Dataset.java
    Datatype.java
    FileFormat.java
    Group.java
    HObject.java
    Metadata.java
    ScalarDS.java
)

file (WRITE ${PROJECT_BINARY_DIR}/Manifest.txt
"
"
)

set (CMAKE_JAVA_INCLUDE_PATH "${HDFJAVA_OBJECT_JARS};${HDFJAVA_LOGGING_JAR}")

add_jar (${HDFJAVA_NCSA_OBJECT_LIB_TARGET} OUTPUT_DIR ${CMAKE_JAVA_TARGET_OUTPUT_DIR} MANIFEST ${PROJECT_BINARY_DIR}/Manifest.txt ${HDFJAVA_NCSA_HDF_OBJECT_SRCS})
install_jar (${HDFJAVA_NCSA_OBJECT_LIB_TARGET} ${HJAVA_INSTALL_JAR_DIR} libraries)

get_target_property (${HDFJAVA_NCSA_OBJECT_LIB_TARGET}_JAR_FILE ${HDFJAVA_NCSA_OBJECT_LIB_TARGET} JAR_FILE)
SET_GLOBAL_VARIABLE (HDFJAVA_JARS_TO_EXPORT "${HDFJAVA_JARS_TO_EXPORT};${${HDFJAVA_NCSA_OBJECT_LIB_TARGET}_JAR_FILE}")
SET_GLOBAL_VARIABLE (HDFJAVA_OBJECT_JARS "${HDFJAVA_OBJECT_JARS};${${HDFJAVA_NCSA_OBJECT_LIB_TARGET}_JAR_FILE}")

add_subdirectory (${HDFJAVA_NCSA_HDF_OBJECT_SOURCE_DIR}/fits      fits)
add_subdirectory (${HDFJAVA_NCSA_HDF_OBJECT_SOURCE_DIR}/h4        h4)
add_subdirectory (${HDFJAVA_NCSA_HDF_OBJECT_SOURCE_DIR}/h5        h5)
add_subdirectory (${HDFJAVA_NCSA_HDF_OBJECT_SOURCE_DIR}/nc2       nc2)
