cmake_minimum_required (VERSION 2.8.10)
PROJECT (HDFEOS5_TESTDRIVERS_ZA)

ADD_EXECUTABLE (testza ${PROJECT_SOURCE_DIR}/TestZa.c)
TARGET_NAMING (testza ${LIB_TYPE})
TARGET_LINK_LIBRARIES (testza ${HDFEOS_SRC_LIB_TARGET} ${HDFEOS_GCTP_SRC_LIB_TARGET} ${LINK_LIBS})

ADD_EXECUTABLE (testalias ${PROJECT_SOURCE_DIR}/TestAlias.c)
TARGET_NAMING (testalias ${LIB_TYPE})
TARGET_LINK_LIBRARIES (testalias ${HDFEOS_SRC_LIB_TARGET} ${HDFEOS_GCTP_SRC_LIB_TARGET} ${LINK_LIBS})

IF (HDFEOS_BUILD_FORTRAN AND HAVE_F2CFORTRAN_MACRO)
  # make test dir
  FILE (MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/fortran")

  IF (F2CFORTRAN_32PTR)
    ADD_EXECUTABLE (testza_f ${PROJECT_SOURCE_DIR}/testza32.f)
  ELSE (F2CFORTRAN_32PTR)
    ADD_EXECUTABLE (testza_f ${PROJECT_SOURCE_DIR}/testza64.f)
  ENDIF (F2CFORTRAN_32PTR)
  TARGET_NAMING (testza_f ${LIB_TYPE})
  TARGET_FORTRAN_WIN_PROPERTIES (testza_f "")
  SET_TARGET_PROPERTIES (testza_f PROPERTIES LINKER_LANGUAGE Fortran)
  TARGET_LINK_LIBRARIES (testza_f ${HDFEOS_SRC_LIB_TARGET} ${HDFEOS_GCTP_SRC_LIB_TARGET} ${LINK_LIBS})
ENDIF (HDFEOS_BUILD_FORTRAN AND HAVE_F2CFORTRAN_MACRO)
  
##############################################################################
##############################################################################
###           T H E   T E S T S                                            ###
##############################################################################
##############################################################################
IF (BUILD_TESTING)

  ADD_TEST (NAME ZA_test_c COMMAND $<TARGET_FILE:testza>)

  ADD_TEST (NAME ZA_test_c_alias COMMAND $<TARGET_FILE:testalias>)
  SET_TESTS_PROPERTIES (ZA_test_c_alias PROPERTIES DEPENDS ZA_test_c)

  IF (HDFEOS_BUILD_FORTRAN AND HAVE_F2CFORTRAN_MACRO)
    ADD_TEST (NAME ZA_test_f COMMAND $<TARGET_FILE:testza_f>)
    SET_TESTS_PROPERTIES (ZA_test_f PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/fortran")
    SET_TESTS_PROPERTIES (ZA_test_f PROPERTIES DEPENDS ZA_test_c_alias)
  ENDIF (HDFEOS_BUILD_FORTRAN AND HAVE_F2CFORTRAN_MACRO)

ENDIF (BUILD_TESTING)
