
INCLUDE(PackageMacros)

PACKAGE( Thyra ENABLE_SHADOWING_WARNINGS )

PACKAGE_ADD_DEBUG_OPTION()

PACKAGE_ADD_SHOW_DEPRECATED_WARNINGS_OPTION()

PACKAGE_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()

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()

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

ADD_OPTION_AND_DEFINE(
  ${PACKAGE_NAME}_ENABLE_ME_POLYNOMIAL
  HAVE_THYRA_ME_POLYNOMIAL
  "Enable Thyra ModelEvalutor Polynomial InArgs and OutArgs."
  ${${PROJECT_NAME}_ENABLE_SECONDARY_STABLE_CODE} )

ADD_SUBDIRECTORY(src)

# Add the targets for building the test library so that other packages can use
# the same test library without requiring Thyra tests be enabled.

ADD_SUBDIRECTORY(test/nonlinear/models)

# This does not enable anything in the models directory
PACKAGE_ADD_TEST_DIRECTORIES(test)

PACKAGE_ADD_EXAMPLE_DIRECTORIES(example)

ADD_SUBDIRECTORY(adapters)

PACKAGE_POSTPROCESS()
