#                                               -*- cmake -*-

# Register current directory files
ot_add_current_dir_to_include_dirs ()

ot_add_source_file (AggregatedFunction.cxx)
if (MUPARSER_FOUND)
ot_add_source_file (SymbolicParser.cxx)
ot_add_source_file (SymbolicEvaluation.cxx)
ot_add_source_file (SymbolicGradient.cxx)
ot_add_source_file (SymbolicHessian.cxx)
endif ()
ot_add_source_file (ComposedFunction.cxx)
ot_add_source_file (DualLinearCombinationFunction.cxx)
ot_add_source_file (EnumerateFunction.cxx)
ot_add_source_file (EnumerateFunctionImplementation.cxx)
ot_add_source_file (LinearCombinationFunction.cxx)
ot_add_source_file (LinearEnumerateFunction.cxx)
ot_add_source_file (HyperbolicAnisotropicEnumerateFunction.cxx)
ot_add_source_file (FieldFunction.cxx)
ot_add_source_file (FieldFunctionImplementation.cxx)
ot_add_source_file (FieldToPointFunction.cxx)
ot_add_source_file (FieldToPointFunctionImplementation.cxx)
ot_add_source_file (PointToFieldFunction.cxx)
ot_add_source_file (PointToFieldFunctionImplementation.cxx)
ot_add_source_file (PointToPointEvaluation.cxx)
ot_add_source_file (FieldToFieldConnection.cxx)
ot_add_source_file (FieldToPointConnection.cxx)
ot_add_source_file (PointToFieldConnection.cxx)
ot_add_source_file (PointToPointConnection.cxx)
ot_add_source_file (ParametricFunction.cxx)
ot_add_source_file (ValueFunction.cxx)
ot_add_source_file (SymbolicFunction.cxx)
ot_add_source_file (VertexFunction.cxx)
ot_add_source_file (VertexValueFunction.cxx)
ot_add_source_file (Function.cxx)
ot_add_source_file (FunctionImplementation.cxx)
ot_add_source_file (LinearFunction.cxx)
ot_add_source_file (IdentityFunction.cxx)
ot_add_source_file (IndicatorFunction.cxx)
ot_add_source_file (QuadraticFunction.cxx)
ot_add_source_file (EvaluationImplementation.cxx)
ot_add_source_file (GradientImplementation.cxx)
ot_add_source_file (HessianImplementation.cxx)
ot_add_source_file (NoEvaluation.cxx)
ot_add_source_file (NoGradient.cxx)
ot_add_source_file (NoHessian.cxx)
ot_add_source_file (LinearEvaluation.cxx)
ot_add_source_file (IdentityEvaluation.cxx)
ot_add_source_file (QuadraticEvaluation.cxx)
ot_add_source_file (LinearGradient.cxx)
ot_add_source_file (ConstantGradient.cxx)
ot_add_source_file (ConstantHessian.cxx)
ot_add_source_file (ComposedEvaluation.cxx)
ot_add_source_file (ComposedGradient.cxx)
ot_add_source_file (ComposedHessian.cxx)
ot_add_source_file (IndicatorEvaluation.cxx)
ot_add_source_file (UniVariatePolynomialImplementation.cxx)
ot_add_source_file (UniVariatePolynomial.cxx)
ot_add_source_file (UniVariateFunctionImplementation.cxx)
ot_add_source_file (UniVariateFunction.cxx)
ot_add_source_file (FourierSeries.cxx)
ot_add_source_file (HaarWavelet.cxx)
ot_add_source_file (UniVariateFunctionEvaluation.cxx)
ot_add_source_file (ProductUniVariateFunctionEvaluation.cxx)
ot_add_source_file (ProductUniVariateFunctionGradient.cxx)
ot_add_source_file (ProductUniVariateFunctionHessian.cxx)
ot_add_source_file (DualLinearCombinationEvaluation.cxx)
ot_add_source_file (DualLinearCombinationGradient.cxx)
ot_add_source_file (DualLinearCombinationHessian.cxx)
ot_add_source_file (ExpertMixture.cxx)
ot_add_source_file (LinearCombinationEvaluation.cxx)
ot_add_source_file (LinearCombinationGradient.cxx)
ot_add_source_file (LinearCombinationHessian.cxx)
ot_add_source_file (ProductEvaluation.cxx)
ot_add_source_file (ProductFunction.cxx)
ot_add_source_file (ProductGradient.cxx)
ot_add_source_file (ProductHessian.cxx)
ot_add_source_file (DatabaseFunction.cxx)
ot_add_source_file (DatabaseEvaluation.cxx)
ot_add_source_file (AggregatedGradient.cxx)
ot_add_source_file (AggregatedHessian.cxx)
ot_add_source_file (AggregatedEvaluation.cxx)
ot_add_source_file (PiecewiseLinearEvaluation.cxx)
ot_add_source_file (PiecewiseHermiteEvaluation.cxx)
ot_add_source_file (ProductPolynomialEvaluation.cxx)
ot_add_source_file (ProductPolynomialHessian.cxx)
ot_add_source_file (ProductPolynomialGradient.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 (LARS.cxx)
ot_add_source_file (BoxCoxEvaluation.cxx)
ot_add_source_file (BoxCoxGradient.cxx)
ot_add_source_file (BoxCoxHessian.cxx)
ot_add_source_file (BoxCoxTransform.cxx)
ot_add_source_file (InverseBoxCoxEvaluation.cxx)
ot_add_source_file (InverseBoxCoxGradient.cxx)
ot_add_source_file (InverseBoxCoxHessian.cxx)
ot_add_source_file (InverseBoxCoxTransform.cxx)
ot_add_source_file (TrendEvaluation.cxx)
ot_add_source_file (TrendTransform.cxx)
ot_add_source_file (InverseTrendEvaluation.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 (ParametricEvaluation.cxx)
ot_add_source_file (ParametricGradient.cxx)
ot_add_source_file (ParametricHessian.cxx)
ot_add_source_file (P1LagrangeEvaluation.cxx)
ot_add_source_file (FunctionalBasisImplementation.cxx)
ot_add_source_file (FunctionalBasis.cxx)
ot_add_source_file (UniVariateFunctionFamily.cxx)
ot_add_source_file (UniVariateFunctionFactory.cxx)
ot_add_source_file (TensorizedUniVariateFunctionFactory.cxx)
ot_add_source_file (MonomialFunction.cxx)
ot_add_source_file (MonomialFunctionFactory.cxx)

ot_install_header_file (AggregatedFunction.hxx)
if (MUPARSER_FOUND)
ot_install_header_file (SymbolicParser.hxx)
ot_install_header_file (SymbolicEvaluation.hxx)
ot_install_header_file (SymbolicGradient.hxx)
ot_install_header_file (SymbolicHessian.hxx)
endif ()
ot_install_header_file (ComposedFunction.hxx)
ot_install_header_file (DualLinearCombinationFunction.hxx)
ot_install_header_file (EnumerateFunction.hxx)
ot_install_header_file (EnumerateFunctionImplementation.hxx)
ot_install_header_file (LinearCombinationFunction.hxx)
ot_install_header_file (LinearEnumerateFunction.hxx)
ot_install_header_file (HyperbolicAnisotropicEnumerateFunction.hxx)
ot_install_header_file (ParametricFunction.hxx)
ot_install_header_file (ProductPolynomialEvaluation.hxx)
ot_install_header_file (ProductPolynomialGradient.hxx)
ot_install_header_file (ProductPolynomialHessian.hxx)
ot_install_header_file (AggregatedEvaluation.hxx)
ot_install_header_file (AggregatedGradient.hxx)
ot_install_header_file (AggregatedHessian.hxx)
ot_install_header_file (PiecewiseLinearEvaluation.hxx)
ot_install_header_file (PiecewiseHermiteEvaluation.hxx)
ot_install_header_file (ConstantGradient.hxx)
ot_install_header_file (QuadraticEvaluation.hxx)
ot_install_header_file (NoGradient.hxx)
ot_install_header_file (ProductEvaluation.hxx)
ot_install_header_file (NoHessian.hxx)
ot_install_header_file (IndicatorEvaluation.hxx)
ot_install_header_file (MethodBoundEvaluation.hxx)
ot_install_header_file (ComposedHessian.hxx)
ot_install_header_file (OTFunc.hxx)
ot_install_header_file (HessianImplementation.hxx)
ot_install_header_file (ProductFunction.hxx)
ot_install_header_file (LinearGradient.hxx)
ot_install_header_file (LinearEvaluation.hxx)
ot_install_header_file (IdentityEvaluation.hxx)
ot_install_header_file (NoEvaluation.hxx)
ot_install_header_file (ConstantHessian.hxx)
ot_install_header_file (LinearFunction.hxx)
ot_install_header_file (IdentityFunction.hxx)
ot_install_header_file (IndicatorFunction.hxx)
ot_install_header_file (QuadraticFunction.hxx)
ot_install_header_file (UniVariatePolynomial.hxx)
ot_install_header_file (UniVariatePolynomialImplementation.hxx)
ot_install_header_file (UniVariateFunction.hxx)
ot_install_header_file (UniVariateFunctionImplementation.hxx)
ot_install_header_file (FourierSeries.hxx)
ot_install_header_file (HaarWavelet.hxx)
ot_install_header_file (UniVariateFunctionEvaluation.hxx)
ot_install_header_file (ProductUniVariateFunctionEvaluation.hxx)
ot_install_header_file (ProductUniVariateFunctionHessian.hxx)
ot_install_header_file (ProductUniVariateFunctionGradient.hxx)
ot_install_header_file (ProductGradient.hxx)
ot_install_header_file (ComposedEvaluation.hxx)
ot_install_header_file (GradientImplementation.hxx)
ot_install_header_file (EvaluationImplementation.hxx)
ot_install_header_file (ComposedGradient.hxx)
ot_install_header_file (DualLinearCombinationEvaluation.hxx)
ot_install_header_file (DualLinearCombinationGradient.hxx)
ot_install_header_file (DualLinearCombinationHessian.hxx)
ot_install_header_file (ExpertMixture.hxx)
ot_install_header_file (LinearCombinationEvaluation.hxx)
ot_install_header_file (LinearCombinationGradient.hxx)
ot_install_header_file (LinearCombinationHessian.hxx)
ot_install_header_file (FunctionImplementation.hxx)
ot_install_header_file (Function.hxx)
ot_install_header_file (FieldFunction.hxx)
ot_install_header_file (FieldFunctionImplementation.hxx)
ot_install_header_file (FieldToPointFunction.hxx)
ot_install_header_file (FieldToPointFunctionImplementation.hxx)
ot_install_header_file (PointToFieldFunction.hxx)
ot_install_header_file (PointToFieldFunctionImplementation.hxx)
ot_install_header_file (PointToPointEvaluation.hxx)
ot_install_header_file (FieldToFieldConnection.hxx)
ot_install_header_file (FieldToPointConnection.hxx)
ot_install_header_file (PointToFieldConnection.hxx)
ot_install_header_file (PointToPointConnection.hxx)
ot_install_header_file (ValueFunction.hxx)
ot_install_header_file (SymbolicFunction.hxx)
ot_install_header_file (VertexFunction.hxx)
ot_install_header_file (VertexValueFunction.hxx)
ot_install_header_file (ProductHessian.hxx)
ot_install_header_file (DatabaseFunction.hxx)
ot_install_header_file (DatabaseEvaluation.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 (LARS.hxx)
ot_install_header_file (BoxCoxEvaluation.hxx)
ot_install_header_file (BoxCoxGradient.hxx)
ot_install_header_file (BoxCoxHessian.hxx)
ot_install_header_file (BoxCoxTransform.hxx)
ot_install_header_file (InverseBoxCoxEvaluation.hxx)
ot_install_header_file (InverseBoxCoxGradient.hxx)
ot_install_header_file (InverseBoxCoxHessian.hxx)
ot_install_header_file (InverseBoxCoxTransform.hxx)
ot_install_header_file (TrendEvaluation.hxx)
ot_install_header_file (TrendTransform.hxx)
ot_install_header_file (InverseTrendEvaluation.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 (ParametricEvaluation.hxx)
ot_install_header_file (ParametricGradient.hxx)
ot_install_header_file (ParametricHessian.hxx)
ot_install_header_file (P1LagrangeEvaluation.hxx)
ot_install_header_file (FunctionalBasisImplementation.hxx)
ot_install_header_file (FunctionalBasis.hxx)
ot_install_header_file (UniVariateFunctionFamily.hxx)
ot_install_header_file (UniVariateFunctionFactory.hxx)
ot_install_header_file (TensorizedUniVariateFunctionFactory.hxx)
ot_install_header_file (MonomialFunction.hxx)
ot_install_header_file (MonomialFunctionFactory.hxx)

# Recurse in subdirectories
add_subdirectory (SpecFunc)
