cmake_minimum_required(VERSION 2.8)

FIND_PACKAGE ( Java 1.6 )

# Since not all dashboard are running cmake 2.8.1, let's set the legacy variable
IF("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_PATCH_VERSION}" VERSION_LESS "2.8.1")
  SET(Java_JAVA_EXECUTABLE ${JAVA_RUNTIME})
  SET(Java_JAVAC_EXECUTABLE ${JAVA_COMPILE})
  SET(Java_JAR_EXECUTABLE ${JAVA_ARCHIVE})
ENDIF()

IF(NOT Java_JAVAC_EXECUTABLE)
  MESSAGE(STATUS "Skipping installation of CLI/Application/Java - Set Java_JAVAC_EXECUTABLE variable to fix the problem")
  RETURN()
ENDIF()

project(JISTPlugins Java)

# If have the java compiler, try to compile the .java files
#IF ( Java_JAVAC_EXECUTABLE )
# message (STATUS "Java run time = ${Java_JAVA_EXECUTABLE}, compiler = ${Java_JAVAC_EXECUTABLE}, jar = ${Java_JAR_EXECUTABLE}")

SET (CLP JISTPluginsSource)

  # source files
file(GLOB_RECURSE ${CLP}_SRCS_SEMICOLON RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} *.java)

set (${CLP}_SRCS "")
foreach (thisclass ${${CLP}_SRCS_SEMICOLON})
  set (${CLP}_SRCS "${${CLP}_SRCS}\n${thisclass}")
endforeach()
#MESSAGE ( STATUS "Globbed java files = ${${CLP}_SRCS}")

file (WRITE ${CMAKE_CURRENT_BINARY_DIR}/${CLP}_SRCS.txt ${${CLP}_SRCS})
MESSAGE(STATUS "Wrote file list to ${CMAKE_CURRENT_BINARY_DIR}/${CLP}_SRCS.txt")



# class path
message (STATUS "jistPlugins: CMAKE_CURRENT_SOURCE_DIR = ${CMAKE_CURRENT_SOURCE_DIR}, CMAKE_CURRENT_BIN_DIR = ${CMAKE_CURRENT_BINARY_DIR}")
SET (JISTBASE_BIN "${CMAKE_CURRENT_BINARY_DIR}/../jist-bin/bin")
SET (JISTBASE_LIB "${CMAKE_CURRENT_SOURCE_DIR}/../../../jist/JIST/lib")

IF ( WIN32 )    
    SET (${CLP}_EXTDIR "\"${MIPAV}/java3d/ext\;${MIPAV}/jre/lib/ext\;${MIPAV}/lib\;${CMAKE_CURRENT_SOURCE_DIR}/../lib\;${JISTBASE_LIB}\"")
    SET  ( ${CLP}_CLASSPATH "\"${MIPAV}\;${JISTBASE_BIN}\"" )
ELSE(WIN32)
    SET (${CLP}_EXTDIR "\"${MIPAV}/java3d/ext:${MIPAV}/jre/lib/ext:${MIPAV}/lib:${CMAKE_CURRENT_SOURCE_DIR}/../lib:${JISTBASE_LIB}\"")
    SET  ( ${CLP}_CLASSPATH "\"${MIPAV}:${JISTBASE_BIN}\"" )
ENDIF (WIN32)
MESSAGE(STATUS "********jistPlugins:\nClasspath = ${${CLP}_CLASSPATH} \nEXTDIR = ${${CLP}_EXTDIR}")

file(MAKE_DIRECTORY  ${CMAKE_CURRENT_BINARY_DIR}/bin)

# ADD_CUSTOM_TARGET ( ${CLP}.jar.classes ALL
#  ${Java_JAVAC_EXECUTABLE} -d ${CMAKE_CURRENT_BINARY_DIR}/bin -sourcepath ${PROJECT_SOURCE_DIR}  -extdirs ${${CLP}_EXTDIR} -classpath ${${CLP}_CLASSPATH} @${CMAKE_CURRENT_BINARY_DIR}/${CLP}_SRCS.txt
#      WORKING_DIRECTORY ${PROJECT_SOURCE_DIR} )





#ELSE ( Java_JAVAC_EXECUTABLE)
#   message (STATUS "Unable to compile java code, skipping installation of ${CLP}.jar")
#ENDIF ( Java_JAVAC_EXECUTABLE )
