

#
# A) Forward delcare the package so that certain options are also defined for
# subpackages
#

TRIBITS_PACKAGE_DECL(Thyra ENABLE_SHADOWING_WARNINGS)

#
# B) Define the common options for Thyra first so they can be used by
# subpackages as well.
#

TRIBITS_ADD_DEBUG_OPTION()

TRIBITS_ADD_ENABLE_TEUCHOS_TIME_MONITOR_OPTION()

TRIBITS_ADD_SHOW_DEPRECATED_WARNINGS_OPTION()

TRIBITS_ADD_EXPLICIT_INSTANTIATION_OPTION()

IF (WIN32 AND NOT CYGWIN)
  SET(${PACKAGE_NAME}_ENABLE_FLOAT_DEFAULT OFF)
ELSE()
  SET(${PACKAGE_NAME}_ENABLE_FLOAT_DEFAULT ${Teuchos_ENABLE_FLOAT})
ENDIF()

TRIBITS_ADD_OPTION_AND_DEFINE(
  ${PACKAGE_NAME}_ENABLE_FLOAT
  HAVE_THYRA_FLOAT
  "Enable Thyra features for float data type."
  ${${PACKAGE_NAME}_ENABLE_FLOAT_DEFAULT} )

IF (WIN32 AND NOT CYGWIN)
  SET(${PACKAGE_NAME}_ENABLE_COMPLEX_DEFAULT OFF)
ELSE()
  SET(${PACKAGE_NAME}_ENABLE_COMPLEX_DEFAULT ${Teuchos_ENABLE_COMPLEX})
ENDIF()

TRIBITS_ADD_OPTION_AND_DEFINE(
  ${PACKAGE_NAME}_ENABLE_COMPLEX
  HAVE_THYRA_COMPLEX
  "Enable Thyra features for complex data types."
  ${${PACKAGE_NAME}_ENABLE_COMPLEX_DEFAULT} )

IF (MSVC)
  # See Trilinos bug 5785
  SET(${PACKAGE_NAME}_ENABLE_ME_POLYNOMIAL_DEFAULT OFF)
ELSE()
  SET(${PACKAGE_NAME}_ENABLE_ME_POLYNOMIAL_DEFAULT
    ${${PROJECT_NAME}_ENABLE_SECONDARY_STABLE_CODE} )
ENDIF()

TRIBITS_ADD_OPTION_AND_DEFINE(
  ${PACKAGE_NAME}_ENABLE_ME_POLYNOMIAL
  HAVE_THYRA_ME_POLYNOMIAL
  "Enable Thyra ModelEvalutor Polynomial InArgs and OutArgs."
  ${${PACKAGE_NAME}_ENABLE_ME_POLYNOMIAL_DEFAULT} )

#
# C) Process the subpackages for Thyra
#

TRIBITS_PROCESS_SUBPACKAGES()

#
# D) If Thyra itself is enabled, process the Thyra package
#

TRIBITS_PACKAGE_DEF()

TRIBITS_EXCLUDE_AUTOTOOLS_FILES()

TRIBITS_PACKAGE_POSTPROCESS()
