AUX_SOURCE_DIRECTORY(vnl/Templates VXLNumerics_SRCS)
AUX_SOURCE_DIRECTORY(vnl/algo/Templates VXLNumerics_SRCS)
AUX_SOURCE_DIRECTORY(v3p/netlib/Templates VXLNumerics_SRCS)

SET(VXLNumerics_SRCS ${VXLNumerics_SRCS}
vnl/vnl_alloc.cxx
vnl/vnl_binary.cxx
vnl/vnl_complex.cxx
vnl/vnl_complex_traits.cxx
vnl/vnl_copy.cxx
vnl/vnl_cost_function.cxx
vnl/vnl_cross_product_matrix.cxx
vnl/vnl_double_2.cxx
vnl/vnl_double_2x3.cxx
vnl/vnl_double_3.cxx
vnl/vnl_double_3x2.cxx
vnl/vnl_double_4.cxx
vnl/vnl_error.cxx
vnl/vnl_fastops.cxx
vnl/vnl_float_2.cxx
vnl/vnl_float_3.cxx
vnl/vnl_float_4.cxx
vnl/vnl_identity_3x3.cxx
vnl/vnl_int_2.cxx
vnl/vnl_int_3.cxx
vnl/vnl_int_4.cxx
vnl/vnl_int_matrix.cxx
vnl/vnl_least_squares_cost_function.cxx
vnl/vnl_least_squares_function.cxx
vnl/vnl_linear_operators_3.cxx
vnl/vnl_linear_system.cxx
vnl/vnl_math.cxx
vnl/vnl_matlab_filewrite.cxx
vnl/vnl_matlab_header.cxx
vnl/vnl_matlab_print.cxx
vnl/vnl_matlab_print2.cxx
vnl/vnl_matlab_print_format.cxx
vnl/vnl_matlab_print_scalar.cxx
vnl/vnl_matlab_read.cxx
vnl/vnl_matlab_write.cxx
vnl/vnl_matops.cxx
vnl/vnl_nonlinear_minimizer.cxx
vnl/vnl_numeric_limits.cxx
vnl/vnl_numeric_traits.cxx
vnl/vnl_real_npolynomial.cxx
vnl/vnl_real_polynomial.cxx
vnl/vnl_rotation_matrix.cxx
vnl/vnl_sample.cxx
vnl/vnl_sparse_matrix_linear_system.cxx
vnl/vnl_test.cxx
vnl/vnl_trace.cxx
vnl/vnl_transpose.cxx
vnl/vnl_unary_function.cxx
vnl/algo/vnl_amoeba.cxx
vnl/algo/vnl_brent.cxx
vnl/algo/vnl_chi_squared.cxx
vnl/algo/vnl_cholesky.cxx
vnl/algo/vnl_complex_eigensystem.cxx
vnl/algo/vnl_conjugate_gradient.cxx
vnl/algo/vnl_cpoly_roots.cxx
vnl/algo/vnl_determinant.cxx
vnl/algo/vnl_discrete_diff.cxx
vnl/algo/vnl_fft.cxx
vnl/algo/vnl_fftxd_prime_factors.cxx
vnl/algo/vnl_gaussian_kernel_1d.cxx
vnl/algo/vnl_generalized_eigensystem.cxx
vnl/algo/vnl_lbfgs.cxx
vnl/algo/vnl_levenberg_marquardt.cxx
vnl/algo/vnl_lsqr.cxx
vnl/algo/vnl_powell.cxx
vnl/algo/vnl_real_eigensystem.cxx
vnl/algo/vnl_rnpoly_solve.cxx
vnl/algo/vnl_rpoly_roots.cxx
vnl/algo/vnl_sparse_symmetric_eigensystem.cxx
vnl/algo/vnl_symmetric_eigensystem.cxx
v3p/netlib/qrsolv.c
v3p/netlib/lmpar.c
v3p/netlib/fdjac2.c
v3p/netlib/qrfac.c
v3p/netlib/enorm.c
v3p/netlib/c_sqrt.c
v3p/netlib/z_sqrt.c
v3p/netlib/cdabs.c
v3p/netlib/cdsqrt.c
v3p/netlib/F77_aloc.c
v3p/netlib/exit.c
v3p/netlib/s_cmp.c
v3p/netlib/d_lg10.c
v3p/netlib/s_cat.c
v3p/netlib/s_copy.c
v3p/netlib/d_sign.c
v3p/netlib/d_cnjg.c
v3p/netlib/d_imag.c
v3p/netlib/z_div.c
v3p/netlib/z_abs.c
v3p/netlib/cabs.c
v3p/netlib/c_abs.c
v3p/netlib/c_div.c
v3p/netlib/sig_die.c
v3p/netlib/r_sign.c
v3p/netlib/r_imag.c
v3p/netlib/r_cnjg.c
v3p/netlib/pow_ii.c
v3p/netlib/pow_ri.c
v3p/netlib/pow_di.c
v3p/netlib/izamax.c
v3p/netlib/daxpy.c
v3p/netlib/dcopy.c
v3p/netlib/ddot.c
v3p/netlib/dnrm2.c
v3p/netlib/drot.c
v3p/netlib/drotg.c
v3p/netlib/dscal.c
v3p/netlib/dasum.c
v3p/netlib/dzasum.c
v3p/netlib/dswap.c
v3p/netlib/dgemv.c
v3p/netlib/dger.c
v3p/netlib/saxpy.c
v3p/netlib/scopy.c
v3p/netlib/sdot.c
v3p/netlib/snrm2.c
v3p/netlib/srot.c
v3p/netlib/srotg.c
v3p/netlib/sscal.c
v3p/netlib/sasum.c
v3p/netlib/sswap.c
v3p/netlib/sgemv.c
v3p/netlib/sger.c
v3p/netlib/caxpy.c
v3p/netlib/ccopy.c
v3p/netlib/cdotc.c
v3p/netlib/csrot.c
v3p/netlib/scnrm2.c
v3p/netlib/cscal.c
v3p/netlib/cswap.c
v3p/netlib/zcopy.c
v3p/netlib/zdotu.c
v3p/netlib/zdscal.c
v3p/netlib/zgemm.c
v3p/netlib/zgemv.c
v3p/netlib/zgerc.c
v3p/netlib/ztrmm.c
v3p/netlib/ztrmv.c
v3p/netlib/ztrsv.c
v3p/netlib/lsqr.c
v3p/netlib/ssvdc.c
v3p/netlib/dsvdc.c
v3p/netlib/csvdc.c
v3p/netlib/zsvdc.c
v3p/netlib/sqrdc.c
v3p/netlib/dqrdc.c
v3p/netlib/cqrdc.c
v3p/netlib/zqrdc.c
v3p/netlib/sqrsl.c
v3p/netlib/dqrsl.c
v3p/netlib/zqrsl.c
v3p/netlib/cqrsl.c
v3p/netlib/dpofa.c
v3p/netlib/dpoco.c
v3p/netlib/dposl.c
v3p/netlib/dpodi.c
v3p/netlib/isamax.c
v3p/netlib/idamax.c
v3p/netlib/rsg.c
v3p/netlib/rg.c
v3p/netlib/rs.c
v3p/netlib/tql1.c
v3p/netlib/tql2.c
v3p/netlib/tred1.c
v3p/netlib/tred2.c
v3p/netlib/lmdif.c
v3p/netlib/lmder.c
v3p/netlib/lmder1.c
v3p/netlib/pythag.c
v3p/netlib/rpoly.c
v3p/netlib/dtrans.c
v3p/netlib/trans.c
v3p/netlib/machineparams.c
v3p/netlib/dgpfa.c
v3p/netlib/dgpfa3f.c
v3p/netlib/dsetgpfa.c
v3p/netlib/gpfa2f.c
v3p/netlib/gpfa5f.c
v3p/netlib/dgpfa2f.c
v3p/netlib/dgpfa5f.c
v3p/netlib/gpfa.c
v3p/netlib/gpfa3f.c
v3p/netlib/setgpfa.c
v3p/netlib/cg.c
v3p/netlib/camsun.c
v3p/netlib/dnlaso.c
v3p/netlib/lbfgs.c
v3p/netlib/lbfgs-lb1.c
v3p/netlib/ilaenv.c
v3p/netlib/izmax1.c
v3p/netlib/xerbla.c
v3p/netlib/lsame.c
v3p/netlib/dlamch.c
v3p/netlib/slamch.c
v3p/netlib/dgeqpf.c
v3p/netlib/dgeqr2.c
v3p/netlib/dgerq2.c
v3p/netlib/dggsvd.c
v3p/netlib/dggsvp.c
v3p/netlib/dlacpy.c
v3p/netlib/dlags2.c
v3p/netlib/dlange.c
v3p/netlib/dlapll.c
v3p/netlib/dlapmt.c
v3p/netlib/dlapy2.c
v3p/netlib/dlarf.c
v3p/netlib/dlarfg.c
v3p/netlib/dlartg.c
v3p/netlib/dlas2.c
v3p/netlib/dlaset.c
v3p/netlib/dlassq.c
v3p/netlib/dlasv2.c
v3p/netlib/dlabad.c
v3p/netlib/dladiv.c
v3p/netlib/dlapy3.c
v3p/netlib/dorg2r.c
v3p/netlib/dorm2r.c
v3p/netlib/dormr2.c
v3p/netlib/dtgsja.c
v3p/netlib/sggsvd.c
v3p/netlib/sgeqpf.c
v3p/netlib/sgeqr2.c
v3p/netlib/sgerq2.c
v3p/netlib/sggsvp.c
v3p/netlib/slacpy.c
v3p/netlib/slags2.c
v3p/netlib/slange.c
v3p/netlib/slapll.c
v3p/netlib/slapmt.c
v3p/netlib/slapy2.c
v3p/netlib/slarf.c
v3p/netlib/slarfg.c
v3p/netlib/slartg.c
v3p/netlib/slas2.c
v3p/netlib/slaset.c
v3p/netlib/slassq.c
v3p/netlib/slasv2.c
v3p/netlib/sorg2r.c
v3p/netlib/sorm2r.c
v3p/netlib/sormr2.c
v3p/netlib/stgsja.c
v3p/netlib/zgebak.c
v3p/netlib/zgebal.c
v3p/netlib/zgeev.c
v3p/netlib/zgehd2.c
v3p/netlib/zgehrd.c
v3p/netlib/zhseqr.c
v3p/netlib/zlacgv.c
v3p/netlib/zlacpy.c
v3p/netlib/zladiv.c
v3p/netlib/zlahqr.c
v3p/netlib/zlahrd.c
v3p/netlib/zlange.c
v3p/netlib/zlanhs.c
v3p/netlib/zlarf.c
v3p/netlib/zlarfb.c
v3p/netlib/zlarfg.c
v3p/netlib/zlarft.c
v3p/netlib/zlarfx.c
v3p/netlib/zlascl.c
v3p/netlib/zlaset.c
v3p/netlib/zlassq.c
v3p/netlib/zlatrs.c
v3p/netlib/ztrevc.c
v3p/netlib/zung2r.c
v3p/netlib/zunghr.c
v3p/netlib/zungqr.c
)

ADD_LIBRARY(VXLNumerics ${VXLNumerics_SRCS})
IF(UNIX)
  TARGET_LINK_LIBRARIES(VXLNumerics -lm)
  IF (NOT ITK_USE_SYSTEM_STDLIB)
    TARGET_LINK_LIBRARIES(VXLNumerics Cio)
  ENDIF (NOT ITK_USE_SYSTEM_STDLIB)
ENDIF(UNIX)

INSTALL_TARGETS(/lib/InsightToolkit VXLNumerics)
INSTALL_FILES(/include/InsightToolkit/Numerics/vxl/vcl ".h" "vxl_config")

SUBDIRS(vcl vnl)
