#                                               -*- cmake -*-

# Register current directory files
ot_add_current_dir_to_include_dirs ()

if (MUPARSER_FOUND)
ot_add_source_file (AnalyticalParser.cxx)
ot_add_source_file (AnalyticalNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (AnalyticalNumericalMathGradientImplementation.cxx)
ot_add_source_file (AnalyticalNumericalMathHessianImplementation.cxx)
endif ()
ot_add_source_file (EnumerateFunction.cxx)
ot_add_source_file (EnumerateFunctionImplementation.cxx)
ot_add_source_file (LinearEnumerateFunction.cxx)
ot_add_source_file (HyperbolicAnisotropicEnumerateFunction.cxx)
ot_add_source_file (DynamicalFunction.cxx)
ot_add_source_file (DynamicalFunctionImplementation.cxx)
ot_add_source_file (SpatialFunction.cxx)
ot_add_source_file (TemporalFunction.cxx)
ot_add_source_file (NumericalMathFunction.cxx)
ot_add_source_file (NumericalMathFunctionImplementation.cxx)
ot_add_source_file (ComposedNumericalMathFunction.cxx)
ot_add_source_file (LinearNumericalMathFunction.cxx)
ot_add_source_file (QuadraticNumericalMathFunction.cxx)
ot_add_source_file (NumericalMathEvaluationImplementation.cxx)
ot_add_source_file (NumericalMathGradientImplementation.cxx)
ot_add_source_file (NumericalMathHessianImplementation.cxx)
ot_add_source_file (NoNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (NoNumericalMathGradientImplementation.cxx)
ot_add_source_file (NoNumericalMathHessianImplementation.cxx)
ot_add_source_file (LinearNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (QuadraticNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (LinearNumericalMathGradientImplementation.cxx)
ot_add_source_file (ConstantNumericalMathGradientImplementation.cxx)
ot_add_source_file (ConstantNumericalMathHessianImplementation.cxx)
ot_add_source_file (ComposedNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (ComposedNumericalMathGradientImplementation.cxx)
ot_add_source_file (ComposedNumericalMathHessianImplementation.cxx)
ot_add_source_file (IndicatorNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (UniVariatePolynomialImplementation.cxx)
ot_add_source_file (UniVariatePolynomial.cxx)
ot_add_source_file (ProductPolynomialEvaluationImplementation.cxx)
ot_add_source_file (DualLinearCombinationEvaluationImplementation.cxx)
ot_add_source_file (DualLinearCombinationGradientImplementation.cxx)
ot_add_source_file (DualLinearCombinationHessianImplementation.cxx)
ot_add_source_file (ExpertMixture.cxx)
ot_add_source_file (LinearCombinationEvaluationImplementation.cxx)
ot_add_source_file (LinearCombinationGradientImplementation.cxx)
ot_add_source_file (LinearCombinationHessianImplementation.cxx)
ot_add_source_file (ProductNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (ProductNumericalMathFunction.cxx)
ot_add_source_file (ProductNumericalMathGradientImplementation.cxx)
ot_add_source_file (ProductNumericalMathHessianImplementation.cxx)
ot_add_source_file (DatabaseNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (AggregatedNumericalMathGradientImplementation.cxx)
ot_add_source_file (AggregatedNumericalMathHessianImplementation.cxx)
ot_add_source_file (AggregatedNumericalMathEvaluationImplementation.cxx)
ot_add_source_file (PiecewiseLinearEvaluationImplementation.cxx)
ot_add_source_file (PiecewiseHermiteEvaluationImplementation.cxx)
ot_add_source_file (ProductPolynomialHessianImplementation.cxx)
ot_add_source_file (ProductPolynomialGradientImplementation.cxx)
ot_add_source_file (BasisImplementation.cxx)
ot_add_source_file (Basis.cxx)
ot_add_source_file (FiniteBasis.cxx)
ot_add_source_file (BasisSequenceImplementation.cxx)
ot_add_source_file (BasisSequence.cxx)
ot_add_source_file (BasisSequenceFactoryImplementation.cxx)
ot_add_source_file (BasisSequenceFactory.cxx)
ot_add_source_file (LAR.cxx)
ot_add_source_file (BoxCoxEvaluationImplementation.cxx)
ot_add_source_file (BoxCoxGradientImplementation.cxx)
ot_add_source_file (BoxCoxHessianImplementation.cxx)
ot_add_source_file (BoxCoxTransform.cxx)
ot_add_source_file (InverseBoxCoxEvaluationImplementation.cxx)
ot_add_source_file (InverseBoxCoxGradientImplementation.cxx)
ot_add_source_file (InverseBoxCoxHessianImplementation.cxx)
ot_add_source_file (InverseBoxCoxTransform.cxx)
ot_add_source_file (TrendEvaluationImplementation.cxx)
ot_add_source_file (TrendTransform.cxx)
ot_add_source_file (InverseTrendEvaluationImplementation.cxx)
ot_add_source_file (InverseTrendTransform.cxx)
ot_add_source_file (BasisFactory.cxx)
ot_add_source_file (ConstantBasisFactory.cxx)
ot_add_source_file (LinearBasisFactory.cxx)
ot_add_source_file (QuadraticBasisFactory.cxx)
ot_add_source_file (ParametricEvaluationImplementation.cxx)
ot_add_source_file (ParametricGradientImplementation.cxx)
ot_add_source_file (ParametricHessianImplementation.cxx)
ot_add_source_file (P1LagrangeEvaluationImplementation.cxx)
ot_add_source_file (FunctionalBasisImplementation.cxx)
ot_add_source_file (FunctionalBasis.cxx)

if (MUPARSER_FOUND)
ot_install_header_file (AnalyticalParser.hxx)
ot_install_header_file (AnalyticalNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (AnalyticalNumericalMathGradientImplementation.hxx)
ot_install_header_file (AnalyticalNumericalMathHessianImplementation.hxx)
endif ()
ot_install_header_file (EnumerateFunction.hxx)
ot_install_header_file (EnumerateFunctionImplementation.hxx)
ot_install_header_file (LinearEnumerateFunction.hxx)
ot_install_header_file (HyperbolicAnisotropicEnumerateFunction.hxx)
ot_install_header_file (ProductPolynomialGradientImplementation.hxx)
ot_install_header_file (ProductPolynomialHessianImplementation.hxx)
ot_install_header_file (AggregatedNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (AggregatedNumericalMathGradientImplementation.hxx)
ot_install_header_file (AggregatedNumericalMathHessianImplementation.hxx)
ot_install_header_file (PiecewiseLinearEvaluationImplementation.hxx)
ot_install_header_file (PiecewiseHermiteEvaluationImplementation.hxx)
ot_install_header_file (ConstantNumericalMathGradientImplementation.hxx)
ot_install_header_file (ProductPolynomialEvaluationImplementation.hxx)
ot_install_header_file (QuadraticNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (NoNumericalMathGradientImplementation.hxx)
ot_install_header_file (ProductNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (NoNumericalMathHessianImplementation.hxx)
ot_install_header_file (IndicatorNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (MethodBoundNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (ComposedNumericalMathHessianImplementation.hxx)
ot_install_header_file (OTFunc.hxx)
ot_install_header_file (NumericalMathHessianImplementation.hxx)
ot_install_header_file (ProductNumericalMathFunction.hxx)
ot_install_header_file (LinearNumericalMathGradientImplementation.hxx)
ot_install_header_file (LinearNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (XMLTags.hxx)
ot_install_header_file (NoNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (ConstantNumericalMathHessianImplementation.hxx)
ot_install_header_file (LinearNumericalMathFunction.hxx)
ot_install_header_file (QuadraticNumericalMathFunction.hxx)
ot_install_header_file (UniVariatePolynomial.hxx)
ot_install_header_file (ProductNumericalMathGradientImplementation.hxx)
ot_install_header_file (ComposedNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (NumericalMathGradientImplementation.hxx)
ot_install_header_file (NumericalMathEvaluationImplementation.hxx)
ot_install_header_file (ComposedNumericalMathGradientImplementation.hxx)
ot_install_header_file (DualLinearCombinationEvaluationImplementation.hxx)
ot_install_header_file (DualLinearCombinationGradientImplementation.hxx)
ot_install_header_file (DualLinearCombinationHessianImplementation.hxx)
ot_install_header_file (ExpertMixture.hxx)
ot_install_header_file (LinearCombinationEvaluationImplementation.hxx)
ot_install_header_file (LinearCombinationGradientImplementation.hxx)
ot_install_header_file (LinearCombinationHessianImplementation.hxx)
ot_install_header_file (ComposedNumericalMathFunction.hxx)
ot_install_header_file (UniVariatePolynomialImplementation.hxx)
ot_install_header_file (NumericalMathFunctionImplementation.hxx)
ot_install_header_file (NumericalMathFunction.hxx)
ot_install_header_file (DynamicalFunctionImplementation.hxx)
ot_install_header_file (DynamicalFunction.hxx)
ot_install_header_file (SpatialFunction.hxx)
ot_install_header_file (TemporalFunction.hxx)
ot_install_header_file (ProductNumericalMathHessianImplementation.hxx)
ot_install_header_file (DatabaseNumericalMathEvaluationImplementation.hxx)
ot_install_header_file (BasisImplementation.hxx)
ot_install_header_file (Basis.hxx)
ot_install_header_file (FiniteBasis.hxx)
ot_install_header_file (BasisSequenceImplementation.hxx)
ot_install_header_file (BasisSequence.hxx)
ot_install_header_file (BasisSequenceFactoryImplementation.hxx)
ot_install_header_file (BasisSequenceFactory.hxx)
ot_install_header_file (LAR.hxx)
ot_install_header_file (BoxCoxEvaluationImplementation.hxx)
ot_install_header_file (BoxCoxGradientImplementation.hxx)
ot_install_header_file (BoxCoxHessianImplementation.hxx)
ot_install_header_file (BoxCoxTransform.hxx)
ot_install_header_file (InverseBoxCoxEvaluationImplementation.hxx)
ot_install_header_file (InverseBoxCoxGradientImplementation.hxx)
ot_install_header_file (InverseBoxCoxHessianImplementation.hxx)
ot_install_header_file (InverseBoxCoxTransform.hxx)
ot_install_header_file (TrendEvaluationImplementation.hxx)
ot_install_header_file (TrendTransform.hxx)
ot_install_header_file (InverseTrendEvaluationImplementation.hxx)
ot_install_header_file (InverseTrendTransform.hxx)
ot_install_header_file (BasisFactory.hxx)
ot_install_header_file (ConstantBasisFactory.hxx)
ot_install_header_file (LinearBasisFactory.hxx)
ot_install_header_file (QuadraticBasisFactory.hxx)
ot_install_header_file (ParametricEvaluationImplementation.hxx)
ot_install_header_file (ParametricGradientImplementation.hxx)
ot_install_header_file (ParametricHessianImplementation.hxx)
ot_install_header_file (P1LagrangeEvaluationImplementation.hxx)
ot_install_header_file (FunctionalBasisImplementation.hxx)
ot_install_header_file (FunctionalBasis.hxx)

# Recurse in subdirectories
add_subdirectory (SpecFunc)
