
# Path to test and example data directory
#KDD NOT WORKING IN NIGHTLY TEST SYSTEM
#KDD BETTER SOLUTION:  COPY THE NEEDED INPUT FILES AND USE FROM RUN DIRECTORY
#KDD SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DZ2_DATA_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/test/data/\"")

# Path to Zoltan1 test directory
#KDD WILL NEED TO FIX THIS CASE AS WELL, BUT IT IS NOT USED IN NIGHTLY TESTING
#KDD SINCE NIGHTLY TESTS DO NOT ENABLE Experimental TESTS.
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DZ1_TEST_DIR=\"${CMAKE_CURRENT_SOURCE_DIR}/../../packages/zoltan/test/\"")

#
# A) Define the package
#

TRIBITS_PACKAGE(Zoltan2 ENABLE_SHADOWING_WARNINGS)

#
# B) Set up package-specific options
#

IF (${PROJECT_NAME}_ENABLE_Zoltan)
 GLOBAL_SET(HAVE_${PACKAGE_NAME_UC}_ZOLTAN ON)
ENDIF ()

TRIBITS_ADD_OPTION_AND_DEFINE(
   ${PACKAGE_NAME}_ENABLE_UseZoltanComm
   ${PACKAGE_NAME_UC}_USEZOLTANCOMM
   "For migration in MJ, use Zoltan's comm package instead of Tpetra."
   OFF)


TRIBITS_ADD_OPTION_AND_DEFINE(
   ${PACKAGE_NAME}_ENABLE_Experimental
   INCLUDE_${PACKAGE_NAME_UC}_EXPERIMENTAL
   "Enable experimental code."
   OFF)

TRIBITS_ADD_OPTION_AND_DEFINE(
   ${PACKAGE_NAME}_ENABLE_Experimental_Wolf
   INCLUDE_${PACKAGE_NAME_UC}_EXPERIMENTAL_WOLF
   "Enable wolf experimental code."
   OFF)

IF (${PROJECT_NAME}_ENABLE_SCOREC)
 GLOBAL_SET(HAVE_${PACKAGE_NAME_UC}_PARMA ON)
ENDIF ()

SET(HAVE_${PACKAGE_NAME_UC}_LONG_LONG ${Teuchos_ENABLE_LONG_LONG_INT})

SET(HAVE_${PACKAGE_NAME_UC}_MPI ${TPL_ENABLE_MPI})

#TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_METIS
#  HAVE_${PACKAGE_NAME_UC}_METIS
#  "Metis is present"
#  OFF )

#TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_PaToH
#  HAVE_${PACKAGE_NAME_UC}_PATOH
#  "PaToH is present"
#  OFF )

#TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_ParMETIS
#  HAVE_${PACKAGE_NAME_UC}_PARMETIS
#  "ParMetis is present"
#  OFF )

#TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_Scotch
#  HAVE_${PACKAGE_NAME_UC}_SCOTCH
#  "Scotch is present"
#  OFF )

#TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_OVIS
#  HAVE_${PACKAGE_NAME_UC}_OVIS
#  "Ovis is present"
#  OFF )

#TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_AMD
#  HAVE_${PACKAGE_NAME_UC}_AMD
#  "AMD is present"
#  OFF )

#TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_ANASAZI
#  HAVE_${PACKAGE_NAME_UC}_ANASAZI
#  "Anasazi is present"
#  OFF )

#
# See the comment in Zoltan2_AlgScotch.hpp to learn how to
# modify the scotch library to return the maximum memory used.
#
TRIBITS_ADD_OPTION_AND_DEFINE(${PACKAGE_NAME}_ENABLE_SCOTCH_MEMORY_REPORT
  SHOW_${PACKAGE_NAME_UC}_SCOTCH_MEMORY
  "turn on runtime display maximum memory used by scotch"
  OFF )


#INCLUDE(CheckTypeSize)
#CHECK_TYPE_SIZE("long long" HAVE_${PACKAGE_NAME_UC}_LONG_LONG)

#
# C) Add the libraries, tests, and examples
#

ADD_SUBDIRECTORY(src)

TRIBITS_ADD_TEST_DIRECTORIES(test)

TRIBITS_ADD_EXAMPLE_DIRECTORIES(example)

#
# Exclude files for source package.
#
#TRIBITS_EXCLUDE_FILES()


#
# D) Do standard postprocessing
#

TRIBITS_PACKAGE_POSTPROCESS()
