IF (WIN32)
  SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /QIfist /GR /GX")
  SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /QIfist")
  SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} setargv.obj")
ENDIF (WIN32)

FILE(READ ../XMLH_VERSION XMLH_VERSION)
ADD_DEFINITIONS(
  -DXMLH_VERSIONSTR=\\\"BXH utilities\ [${XMLH_VERSION}]\\\"
)

PROJECT(bxh_xcede_tools)

ADD_DEFINITIONS(-DMSDOS)
SET_SOURCE_FILES_PROPERTIES(../utils/nifti_stats.c COMPILE_FLAGS -DOMIT_MAIN)

AUX_SOURCE_DIRECTORY(
  ../libsrc
  XMLHEADERLIBSOURCES
)
AUX_SOURCE_DIRECTORY(
  ../utils
  XMLHEADERUTILSSOURCES
)
AUX_SOURCE_DIRECTORY(
  ../fmriqa
  XMLHEADERFMRIQASOURCES
)

INCLUDE_DIRECTORIES(
  ../libsrc
  ../utils
  ../fmriqa
  ../win32
)

SET(GENERIC_PATH none CACHE PATH "If several libraries are installed in  the same place, set this cache value to that path, and it will be searched in addition to other paths")

OPTION(USE_DICOM "Set this to yes if you want DICOM support" OFF)
OPTION(USE_LIBXML2 "Set this to yes if you are using libxml2/gdome" OFF)
OPTION(USE_XERCES "Set this to yes if you are using xerces-C/Pathan" OFF)
OPTION(USE_GSL "Set this to yes if you are using GSL (GNU Scientific Library)" OFF)
OPTION(BIAC "Turn this on if you want BIAC-specific extensions" ON)
OPTION(BIACINSTALL "Turn this on if you want BIAC-specific installation" ON)

IF (BIAC)
  ADD_DEFINITIONS(-DBIAC=1)
ENDIF (BIAC)

IF (BIACINSTALL)
  FIND_PATH(GLUT32_PATH glut32.dll)
  FIND_FILE(GLUT32_DLL glut32.dll ${GLUT32_PATH})

  FIND_PATH(VTK_PATH bin/release/vtkCommon.dll)
  FIND_FILE(VTKCOMMON_DLL vtkCommon.dll ${VTK_PATH}/bin/release)
  FIND_FILE(VTKFILTERING_DLL vtkFiltering.dll ${VTK_PATH}/bin/release)
  FIND_FILE(VTKGRAPHICS_DLL vtkGraphics.dll ${VTK_PATH}/bin/release)
  FIND_FILE(VTKIMAGING_DLL vtkImaging.dll ${VTK_PATH}/bin/release)
  FIND_FILE(VTKPATENTED_DLL vtkPatented.dll ${VTK_PATH}/bin/release)

  FIND_PATH(IMLIB_PATH win32/Release/imconvert.exe)
  FIND_PROGRAM(IMCONVERT_EXE imconvert.exe ${IMLIB_PATH}/win32/Release)
  FIND_PROGRAM(IMEDIT_EXE imedit.exe ${IMLIB_PATH}/win32/Release)
  FIND_PROGRAM(IMINFO_EXE iminfo.exe ${IMLIB_PATH}/win32/Release)

  FIND_PATH(SNAPBXH_PATH Release/snap.exe)
  FIND_PROGRAM(SNAPBXH_EXE snap.exe ${SNAPBXH_PATH}/Release)
ENDIF (BIACINSTALL)

IF (USE_DICOM)
  FIND_PATH(DCMTK_PATH include/dcmdata/dcdict.h ${GENERIC_PATH})
  FIND_PATH(DCMTK_INCLUDE_PATH dcmdata/dcdict.h ${DCMTK_PATH}/include)
  FIND_LIBRARY(DCMTK_DCMDATA_LIB dcmdata ${DCMTK_PATH}/lib ${DCMTK_PATH}/lib/release)
  FIND_LIBRARY(DCMTK_OFSTD_LIB ofstd ${DCMTK_PATH}/lib ${DCMTK_PATH}/lib/release)
  IF (DCMTK_DCMDATA_LIB)
    SET(HAVE_DCMTK 1)
    SET(HAVE_CONFIG_H 1)
  ENDIF (DCMTK_DCMDATA_LIB)
ENDIF (USE_DICOM)

IF (USE_LIBXML2)
  FIND_PATH(GDOME2_PATH include/libgdome/gdome.h ${GENERIC_PATH})
  FIND_PATH(GDOME2_INCLUDE_PATH libgdome/gdome.h ${GDOME2_PATH}/include)
  FIND_LIBRARY(GDOME2_LIB libgdome2 ${GDOME2_PATH}/lib ${GDOME2_PATH}/lib/release)

  FIND_PATH(GLIB_PATH include/glib-2.0/glib.h ${GENERIC_PATH})
  FIND_PATH(GLIB_INCLUDE_PATH glib.h ${GLIB_PATH}/include/glib-2.0)
  FIND_LIBRARY(GLIB_GLIB_LIB glib-2.0 ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_LIBRARY(GLIB_GMODULE_LIB gmodule-2.0 ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_LIBRARY(GLIB_GOBJECT_LIB gobject-2.0 ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_LIBRARY(GLIB_GTHREAD_LIB gthread-2.0 ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_FILE(GLIB_GLIB_DLL libglib-2.0-0.dll ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_FILE(GLIB_GMODULE_DLL libgmodule-2.0-0.dll ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_FILE(GLIB_GOBJECT_DLL libgobject-2.0-0.dll ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_FILE(GLIB_GTHREAD_DLL libgthread-2.0-0.dll ${GLIB_PATH}/lib ${GLIB_PATH}/lib/release)
  FIND_PATH(GLIB_LIBINCLUDE_PATH glibconfig.h ${GLIB_PATH}/lib/glib-2.0/include)

  FIND_PATH(LIBXML2_PATH include/libxml/tree.h ${GENERIC_PATH})
  FIND_PATH(LIBXML2_INCLUDE_PATH libxml/tree.h ${LIBXML2_PATH}/include)
  FIND_LIBRARY(LIBXML2_LIB libxml2 ${LIBXML2_PATH}/lib ${LIBXML2_PATH}/lib/release)
  FIND_FILE(LIBXML2_DLL libxml2.dll ${LIBXML2_PATH}/lib ${LIBXML2_PATH}/lib/release)

  FIND_PATH(LIBXSLT_PATH include/libxslt/transform.h ${GENERIC_PATH})
  FIND_PATH(LIBXSLT_INCLUDE_PATH libxslt/transform.h ${LIBXSLT_PATH}/include)
  FIND_LIBRARY(LIBXSLT_LIB libxslt ${LIBXSLT_PATH}/lib ${LIBXSLT_PATH}/lib/release)
  FIND_FILE(LIBXSLT_DLL libxslt.dll ${LIBXSLT_PATH}/lib ${LIBXSLT_PATH}/lib/release)
  FIND_LIBRARY(LIBEXSLT_LIB libexslt ${LIBXSLT_PATH}/lib ${LIBXSLT_PATH}/lib/release)
  FIND_FILE(LIBEXSLT_DLL libexslt.dll ${LIBXSLT_PATH}/lib ${LIBXSLT_PATH}/lib/release)

  FIND_PATH(ICONV_PATH include/iconv.h ${GENERIC_PATH})
  FIND_PATH(ICONV_INCLUDE_PATH iconv.h ${ICONV_PATH}/include)
  FIND_LIBRARY(ICONV_LIB iconv ${ICONV_PATH}/lib ${ICONV_PATH}/lib/release)
  FIND_FILE(ICONV_DLL iconv.dll ${ICONV_PATH}/bin ${ICONV_PATH}/bin/release)
  FIND_FILE(CHARSET_DLL charset.dll ${ICONV_PATH}/bin ${ICONV_PATH}/bin/release)

  FIND_PATH(GETTEXT_PATH bin/intl.dll ${GENERIC_PATH})
  FIND_LIBRARY(INTL_LIB intl ${GETTEXT_PATH}/lib ${GETTEXT_PATH}/lib/release)
  FIND_FILE(INTL_DLL intl.dll ${GETTEXT_PATH}/bin ${GETTEXT_PATH}/bin/release)
  FIND_FILE(ASPRINTF_DLL asprintf.dll ${GETTEXT_PATH}/bin ${GETTEXT_PATH}/bin/release)

  FIND_PATH(ZLIB_PATH bin/zlib1.dll ${GENERIC_PATH})
  FIND_LIBRARY(ZLIB_LIB zdll ${GENERIC_PATH}/lib ${GENERIC_PATH}/lib/release)
  FIND_FILE(ZLIB_DLL zlib1.dll ${GENERIC_PATH}/bin ${GENERIC_PATH}/bin/release)

  INCLUDE_DIRECTORIES(
    .
    ${GDOME2_INCLUDE_PATH}
    ${GDOME2_INCLUDE_PATH}/libgdome
    ${GLIB_INCLUDE_PATH}
    ${GLIB_LIBINCLUDE_PATH}
    ${LIBXML2_INCLUDE_PATH}
    ${LIBXSLT_INCLUDE_PATH}
    ${ICONV_INCLUDE_PATH}
  )

  LINK_DIRECTORIES(
    c:/WINDOWS/system32
  )

  SET(LIBLIST
    ${LIBLIST}
    ${LIBXML2_LIB}
    ${LIBXSLT_LIB}
    ${LIBEXSLT_LIB}
    ${ICONV_LIB}
    ${INTL_LIB}
    ${GDOME2_LIB}
    ${GLIB_GLIB_LIB}
    ${GLIB_GOBJECT_LIB}
    ${GLIB_GMODULE_LIB}
    ${GLIB_GTHREAD_LIB}
  )

  SET(
    BASIC_SRCS
    ../libsrc/bxh_convert_afni.cpp
    ../libsrc/bxh_convert_analyze.c
    ../libsrc/bxh_convert_bxh.c
    ../libsrc/bxh_convert_mgh.c
    ../libsrc/bxh_convert_pfile.c
    ../libsrc/bxh_convert_signafive.c
    ../libsrc/bxh_convert_ximg.c
    ../libsrc/bxh_dom_utils.cpp
    ../libsrc/bxh_datarec.cpp
    ../libsrc/bxh_utils.cpp
    ../libsrc/bxh_eventlib.cpp
    ../libsrc/biac_dti_tensors.c
    ../libsrc/bxh_niftilib.c
    ../libsrc/nifti1_io.c
    ../libsrc/znzlib.c
  )

  IF (LIBXML2_LIB)
    ADD_DEFINITIONS(-DHAVE_LIBXML2=1)
  ENDIF (LIBXML2_LIB)
  IF (LIBXSLT_LIB)
    ADD_DEFINITIONS(-DHAVE_LIBXSLT=1)
    ADD_CUSTOM_TARGET (xsl_bxhtoxcede ALL perl ../libsrc/createxslstring.pl ../libsrc/bxhtoxcede.xsl bxhtoxcede ../libsrc/xsl_bxhtoxcede.c )
    ADD_CUSTOM_TARGET (xsl_bxhtoxcede2 ALL perl ../libsrc/createxslstring.pl ../libsrc/bxhtoxcede2.xsl bxhtoxcede2 ../libsrc/xsl_bxhtoxcede2.c )
    ADD_CUSTOM_TARGET (xsl_xcedetobxh ALL perl ../libsrc/createxslstring.pl ../libsrc/xcedetobxh.xsl xcedetobxh ../libsrc/xsl_xcedetobxh.c )
    ADD_CUSTOM_TARGET (xsl_xcede2tobxh ALL perl ../libsrc/createxslstring.pl ../libsrc/xcede2tobxh.xsl xcede2tobxh ../libsrc/xsl_xcede2tobxh.c )
  ENDIF (LIBXSLT_LIB)
  IF (LIBEXSLT_LIB)
    ADD_DEFINITIONS(-DHAVE_LIBEXSLT=1)
  ENDIF (LIBEXSLT_LIB)
ENDIF (USE_LIBXML2)

IF (USE_GSL)
  FIND_PATH(GSL_PATH include/gsl/gsl_version.h ${GENERIC_PATH})
  FIND_PATH(GSL_INCLUDE_PATH gsl/gsl_version.h ${GSL_PATH}/include)
  FIND_LIBRARY(GSL_LIB gsl ${GSL_PATH}/lib ${GSL_PATH}/lib/release)
  IF (GSL_LIB)
    SET(HAVE_LIBGSL yes)
  ENDIF (GSL_LIB)
  FIND_LIBRARY(GSLCBLAS_LIB gslcblas ${GSL_PATH}/lib ${GSL_PATH}/lib/release)
  IF (GSLCBLAS_LIB)
    SET(HAVE_LIBGSLCBLAS yes)
  ENDIF (GSLCBLAS_LIB)
  FIND_LIBRARY(CBLAS_LIB cblas ${GSL_PATH}/lib ${GSL_PATH}/lib/release)
  IF (CBLAS_LIB)
    SET(HAVE_LIBCBLAS yes)
  ENDIF (CBLAS_LIB)
ENDIF (USE_GSL)

FIND_PATH(IMAGEMAGICK_PATH config/coder.xml "C:/Program Files/ImageMagick" DOC "Location where ImageMagick is installed, such as C:\\ProgramFiles\\ImageMagick")
FIND_PATH(GNUPLOT_PATH bin/pgnuplot.exe "C:/Program Files/gnuplot" DOC "Location where gnuplot 4.0.0 is installed, such as C:\\ProgramFiles\\gnuplot")

ADD_LIBRARY(
  libbxh
  STATIC
  ${BASIC_SRCS}
)

IF (LIBXSLT_LIB)
  ADD_DEPENDENCIES ( libbxh xsl_bxhtoxcede xsl_bxhtoxcede2 xsl_xcedetobxh xsl_xcede2tobxh )
ENDIF (LIBXSLT_LIB)

ADD_LIBRARY(
  libbxhsigna
  STATIC
  ../libsrc/bxh_signa.c
  bxh_signamapsgen3.c
  bxh_signamapsgen11.c
  bxh_signamapsgen20.c
)

ADD_LIBRARY(
  libbxhopts
  STATIC
  ../libsrc/opts.c
)

ADD_LIBRARY(
  libf2c
  STATIC
  ../libf2c/abort_.c
  ../libf2c/backspac.c
  ../libf2c/c_abs.c
  ../libf2c/c_cos.c
  ../libf2c/c_div.c
  ../libf2c/c_exp.c
  ../libf2c/c_log.c
  ../libf2c/c_sin.c
  ../libf2c/c_sqrt.c
  ../libf2c/cabs.c
  ../libf2c/close.c
  ../libf2c/d_abs.c
  ../libf2c/d_acos.c
  ../libf2c/d_asin.c
  ../libf2c/d_atan.c
  ../libf2c/d_atn2.c
  ../libf2c/d_cnjg.c
  ../libf2c/d_cos.c
  ../libf2c/d_cosh.c
  ../libf2c/d_dim.c
  ../libf2c/d_exp.c
  ../libf2c/d_imag.c
  ../libf2c/d_int.c
  ../libf2c/d_lg10.c
  ../libf2c/d_log.c
  ../libf2c/d_mod.c
  ../libf2c/d_nint.c
  ../libf2c/d_prod.c
  ../libf2c/d_sign.c
  ../libf2c/d_sin.c
  ../libf2c/d_sinh.c
  ../libf2c/d_sqrt.c
  ../libf2c/d_tan.c
  ../libf2c/d_tanh.c
  ../libf2c/derf_.c
  ../libf2c/derfc_.c
  ../libf2c/dfe.c
  ../libf2c/dolio.c
  ../libf2c/dtime_.c
  ../libf2c/due.c
  ../libf2c/ef1asc_.c
  ../libf2c/ef1cmc_.c
  ../libf2c/endfile.c
  ../libf2c/erf_.c
  ../libf2c/erfc_.c
  ../libf2c/err.c
  ../libf2c/etime_.c
  ../libf2c/exit_.c
  ../libf2c/f77_aloc.c
  ../libf2c/f77vers.c
  ../libf2c/fmt.c
  ../libf2c/fmtlib.c
  ../libf2c/ftell_.c
  ../libf2c/getarg_.c
  ../libf2c/getenv_.c
  ../libf2c/h_abs.c
  ../libf2c/h_dim.c
  ../libf2c/h_dnnt.c
  ../libf2c/h_indx.c
  ../libf2c/h_len.c
  ../libf2c/h_mod.c
  ../libf2c/h_nint.c
  ../libf2c/h_sign.c
  ../libf2c/hl_ge.c
  ../libf2c/hl_gt.c
  ../libf2c/hl_le.c
  ../libf2c/hl_lt.c
  ../libf2c/i77vers.c
  ../libf2c/i_abs.c
  ../libf2c/i_dim.c
  ../libf2c/i_dnnt.c
  ../libf2c/i_indx.c
  ../libf2c/i_len.c
  ../libf2c/i_mod.c
  ../libf2c/i_nint.c
  ../libf2c/i_sign.c
  ../libf2c/iargc_.c
  ../libf2c/iio.c
  ../libf2c/ilnw.c
  ../libf2c/inquire.c
  ../libf2c/l_ge.c
  ../libf2c/l_gt.c
  ../libf2c/l_le.c
  ../libf2c/l_lt.c
  ../libf2c/lbitbits.c
  ../libf2c/lbitshft.c
  ../libf2c/lread.c
  ../libf2c/lwrite.c
  ../libf2c/main.c
  ../libf2c/open.c
  ../libf2c/pow_ci.c
  ../libf2c/pow_dd.c
  ../libf2c/pow_di.c
  ../libf2c/pow_hh.c
  ../libf2c/pow_ii.c
  ../libf2c/pow_ri.c
  ../libf2c/pow_zi.c
  ../libf2c/pow_zz.c
  ../libf2c/r_abs.c
  ../libf2c/r_acos.c
  ../libf2c/r_asin.c
  ../libf2c/r_atan.c
  ../libf2c/r_atn2.c
  ../libf2c/r_cnjg.c
  ../libf2c/r_cos.c
  ../libf2c/r_cosh.c
  ../libf2c/r_dim.c
  ../libf2c/r_exp.c
  ../libf2c/r_imag.c
  ../libf2c/r_int.c
  ../libf2c/r_lg10.c
  ../libf2c/r_log.c
  ../libf2c/r_mod.c
  ../libf2c/r_nint.c
  ../libf2c/r_sign.c
  ../libf2c/r_sin.c
  ../libf2c/r_sinh.c
  ../libf2c/r_sqrt.c
  ../libf2c/r_tan.c
  ../libf2c/r_tanh.c
  ../libf2c/rdfmt.c
  ../libf2c/rewind.c
  ../libf2c/rsfe.c
  ../libf2c/rsli.c
  ../libf2c/rsne.c
  ../libf2c/s_cat.c
  ../libf2c/s_cmp.c
  ../libf2c/s_copy.c
  ../libf2c/s_paus.c
  ../libf2c/s_rnge.c
  ../libf2c/s_stop.c
  ../libf2c/sfe.c
  ../libf2c/sig_die.c
  ../libf2c/signal_.c
  ../libf2c/sue.c
  ../libf2c/system_.c
  ../libf2c/typesize.c
  ../libf2c/uio.c
  ../libf2c/uninit.c
  ../libf2c/util.c
  ../libf2c/wref.c
  ../libf2c/wrtfmt.c
  ../libf2c/wsfe.c
  ../libf2c/wsle.c
  ../libf2c/wsne.c
  ../libf2c/xwsne.c
  ../libf2c/z_abs.c
  ../libf2c/z_cos.c
  ../libf2c/z_div.c
  ../libf2c/z_exp.c
  ../libf2c/z_log.c
  ../libf2c/z_sin.c
  ../libf2c/z_sqrt.c
)

SET(LIBLIST ${LIBLIST} wsock32 netapi32 libbxh libbxhsigna libbxhopts)

IF (HAVE_DCMTK)
  ADD_DEFINITIONS(
    -DHAVE_DCMTK=1
  )
  INCLUDE_DIRECTORIES(
    ${DCMTK_INCLUDE_PATH}
    ${DCMTK_INCLUDE_PATH}/dcmdata
    ${DCMTK_INCLUDE_PATH}/ofstd
    ${DCMTK_INCLUDE_PATH}/dcmtk/config
    ${DCMTK_INCLUDE_PATH}/dcmtk/dcmdata
    ${DCMTK_INCLUDE_PATH}/dcmtk/ofstd
  )
  LINK_DIRECTORIES(
    ${DCMTK_LIB_PATH}
  )
  ADD_LIBRARY(
    libbxhdicom
    STATIC
    ../libsrc/bxh_dicom.cpp
    ../libsrc/bxh_convert_dicom.cpp
    ../libsrc/dcistrmfb.cc
  )
  SET(LIBLIST
    ${LIBLIST}
    ${DCMTK_DCMDATA_LIB}
    ${DCMTK_OFSTD_LIB}
# if DCMTK is not compiled with ZLIB support, comment this
    ${ZLIB_LIB}
    libbxhdicom
  )
ENDIF (HAVE_DCMTK)

IF (HAVE_LIBGSL)
  ADD_DEFINITIONS(-DHAVE_LIBGSL=1)
  INCLUDE_DIRECTORIES(
    ${GSL_INCLUDE_PATH}
  )
  SET(LIBLIST ${LIBLIST} ${GSL_LIB})
  IF (HAVE_LIBCBLAS)
    SET(LIBLIST ${LIBLIST} ${CBLAS_LIB})
  ELSE (HAVE_LIBCBLAS)
    IF (HAVE_LIBGSLCBLAS)
      SET(LIBLIST ${LIBLIST} ${GSLCBLAS_LIB})
    ENDIF (HAVE_LIBGSLCBLAS)
  ENDIF (HAVE_LIBCBLAS)
ENDIF (HAVE_LIBGSL)

ADD_EXECUTABLE(
  bxhabsorb
  ../utils/bxh_absorb_afni.cpp
  ../utils/bxh_absorb_analyze.c
  ../utils/bxh_absorb_bxh.c
  ../utils/bxh_absorb_dicom.cpp
  ../utils/bxh_absorb_mgh.c
  ../utils/bxh_absorb_pfile.c
  ../utils/bxh_absorb_signafive.c
  ../utils/bxh_absorb_ximg.c
  ../utils/bxhabsorb.c
  ../libsrc/znzlib.c
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/bxhabsorb_post_install.cmake.in"
  "${CMAKE_CURRENT_SOURCE_DIR}/bxhabsorb_post_install.cmake"
)
SET_TARGET_PROPERTIES(bxhabsorb PROPERTIES POST_INSTALL_SCRIPT bxhabsorb_post_install.cmake)
ADD_EXECUTABLE(extractimagedata ../utils/extractimagedata.c)
ADD_EXECUTABLE(extractxyztdata ../utils/extractxyztdata.c)
ADD_EXECUTABLE(printfrags ../utils/printfrags.c)
ADD_EXECUTABLE(dumpheader ../utils/dumpheader.c)

ADD_EXECUTABLE(bxh2analyze ../utils/bxh2analyze.c)
ADD_EXECUTABLE(bxh2pgm ../utils/bxh2pgm.cpp)
ADD_EXECUTABLE(bxh2ppm ../utils/bxh2ppm.cpp)
ADD_EXECUTABLE(bxhreorient ../utils/bxhreorient.c)
ADD_EXECUTABLE(bxhselect ../utils/bxhselect.c)
ADD_EXECUTABLE(bxh_epochavg ../utils/bxh_epochavg.cpp)
ADD_EXECUTABLE(bxh_correlate ../utils/bxh_correlate.c)
ADD_EXECUTABLE(bxh_eventresp ../utils/bxh_eventresp.cpp)
ADD_EXECUTABLE(bxh_ttest ../utils/bxh_ttest.c)
ADD_EXECUTABLE(bxh_brainmask ../utils/bxh_brainmask.c)
ADD_EXECUTABLE(bxh_tfilter ../utils/bxh_tfilter.c)
ADD_EXECUTABLE(bxh_binop ../utils/bxh_binop.c)
ADD_EXECUTABLE(bxh_unop ../utils/bxh_unop.c ../utils/nifti_stats.c)
ADD_EXECUTABLE(bxh_mean ../utils/bxh_mean.c)

ADD_EXECUTABLE(fmriqa_count ../fmriqa/fmriqa_count.cpp)
ADD_EXECUTABLE(fmriqa_mean ../fmriqa/fmriqa_mean.cpp)
ADD_EXECUTABLE(fmriqa_minmax ../fmriqa/fmriqa_minmax.cpp)
ADD_EXECUTABLE(fmriqa_oediff ../fmriqa/fmriqa_oediff.cpp)
ADD_EXECUTABLE(fmriqa_phantomqa ../fmriqa/fmriqa_phantomqa.c)
ADD_EXECUTABLE(fmriqa_stddev ../fmriqa/fmriqa_stddev.cpp)
ADD_EXECUTABLE(fmriqa_volmeasures ../fmriqa/fmriqa_volmeasures.cpp)
ADD_EXECUTABLE(fmriqa_tdiff ../fmriqa/fmriqa_tdiff.c)
ADD_EXECUTABLE(
  fmriqa_spikiness
  ../fmriqa/cl1-552.c
  ../fmriqa/fmriqa_spikiness.cpp)
ADD_EXECUTABLE(fmriqa_ghostiness ../fmriqa/fmriqa_ghostiness.c)
ADD_EXECUTABLE(fmriqa_spectrum ../fmriqa/fmriqa_spectrum.c)

TARGET_LINK_LIBRARIES(bxhabsorb ${LIBLIST})
TARGET_LINK_LIBRARIES(extractimagedata ${LIBLIST})
TARGET_LINK_LIBRARIES(extractxyztdata ${LIBLIST})
TARGET_LINK_LIBRARIES(printfrags ${LIBLIST})
TARGET_LINK_LIBRARIES(dumpheader ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh2analyze ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh2ppm ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh2pgm ${LIBLIST})
TARGET_LINK_LIBRARIES(bxhreorient ${LIBLIST})
TARGET_LINK_LIBRARIES(bxhselect ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_epochavg ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_correlate ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_eventresp ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_ttest ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_brainmask ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_tfilter ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_binop ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_unop ${LIBLIST})
TARGET_LINK_LIBRARIES(bxh_mean ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_count ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_mean ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_minmax ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_oediff ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_phantomqa ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_stddev ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_volmeasures ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_tdiff ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_spikiness ${LIBLIST} libf2c)
TARGET_LINK_LIBRARIES(fmriqa_ghostiness ${LIBLIST})
TARGET_LINK_LIBRARIES(fmriqa_spectrum ${LIBLIST})

CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/eprime2xml"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/eprime2xml.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/eprime2xml"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/eventstable2xml.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/eprime2xml"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/presentation2xml.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/eprime2xml"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/3column2xml.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/showplay2xml"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/showplay2xml.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../fmriqa/fmriqa_updatexml"
  "${CMAKE_CURRENT_SOURCE_DIR}/../fmriqa/fmriqa_updatexml.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/bxh_eventstats"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/bxh_eventstats.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/bxh_eventstats_standardize"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/bxh_eventstats_standardize.pl"
  COPYONLY
)
CONFIGURE_FILE(
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/bxhdirdiff"
  "${CMAKE_CURRENT_SOURCE_DIR}/../utils/bxhdirdiff"
  COPYONLY
)

SET(CMAKE_INSTALL_PREFIX none CACHE VAR "Install directory")

INSTALL_TARGETS(/bin
  bxhabsorb
  extractimagedata
  extractxyztdata
  printfrags
  dumpheader
  bxh2analyze
  bxh2ppm
  bxh2pgm
  bxhreorient
  bxhselect
  bxh_epochavg
  bxh_correlate
  bxh_eventresp
  bxh_ttest
  bxh_brainmask
  bxh_tfilter
  bxh_binop
  bxh_unop
  bxh_mean

  fmriqa_count
  fmriqa_mean
  fmriqa_minmax
  fmriqa_oediff
  fmriqa_phantomqa
  fmriqa_stddev
  fmriqa_volmeasures
  fmriqa_tdiff
  fmriqa_spikiness
  fmriqa_ghostiness
  fmriqa_spectrum
)

INSTALL_TARGETS(/lib
  libbxh
  libbxhsigna
  libbxhopts
  libf2c
)

INSTALL_FILES(/bin
  FILES
  ../utils/showplay2xml.pl
  ../utils/eprime2xml.pl
  ../utils/eventstable2xml.pl
  ../utils/presentation2xml.pl
  ../utils/3column2xml.pl
  ../utils/bxh_eventstats.pl
  ../utils/bxh_eventstats_standardize.pl
  ../fmriqa/fmriqa_generate.pl
  ../fmriqa/fmriqa_phantomqa.pl
  ../fmriqa/fmriqa_updatexml.pl
  ../utils/BXHPerlUtils.pm
  ../utils/EventUtils.pm
  ../utils/XMLUtils.pm
  ../fmriqa/fmriqa_utils.pm
)

INSTALL_FILES(/bin/BXHPerlUtils
  FILES
  ../utils/BXHPerlUtils/XMLMetadata.pm
)

INSTALL_FILES(/bin/BXHPerlUtils/XMLMetadata
  FILES
  ../utils/BXHPerlUtils/XMLMetadata/XCEDE2.pm
)

INSTALL_FILES(/bin/File
  FILES
  ../fmriqa/File/Which.pm
)

INSTALL_FILES(/bin/XML
  FILES
  ../fmriqa/XML/Simple.pm
  ../fmriqa/XML/XPath.pm
  ../fmriqa/XML/Twig.pm
  ../fmriqa/XML/SAX.pm
  ../fmriqa/XML/NamespaceSupport.pm
)

INSTALL_FILES(/bin/XML/DOM
  FILES
  ../fmriqa/XML/DOM/Lite.pm
)

INSTALL_FILES(/bin/XML/DOM/Lite
  FILES
  ../fmriqa/XML/DOM/Lite/Constants.pm
  ../fmriqa/XML/DOM/Lite/Document.pm
  ../fmriqa/XML/DOM/Lite/Node.pm
  ../fmriqa/XML/DOM/Lite/NodeIterator.pm
  ../fmriqa/XML/DOM/Lite/NodeList.pm
  ../fmriqa/XML/DOM/Lite/Parser.pm
  ../fmriqa/XML/DOM/Lite/Serializer.pm
  ../fmriqa/XML/DOM/Lite/XPath.pm
  ../fmriqa/XML/DOM/Lite/XSLT.pm
)

INSTALL_FILES(/bin/XML/XPath
  FILES
  ../fmriqa/XML/XPath/Boolean.pm
  ../fmriqa/XML/XPath/Builder.pm
  ../fmriqa/XML/XPath/Expr.pm
  ../fmriqa/XML/XPath/Function.pm
  ../fmriqa/XML/XPath/Literal.pm
  ../fmriqa/XML/XPath/LocationPath.pm
  ../fmriqa/XML/XPath/Node.pm
  ../fmriqa/XML/XPath/NodeSet.pm
  ../fmriqa/XML/XPath/Number.pm
  ../fmriqa/XML/XPath/Parser.pm
  ../fmriqa/XML/XPath/PerlSAX.pm
  ../fmriqa/XML/XPath/Root.pm
  ../fmriqa/XML/XPath/Step.pm
  ../fmriqa/XML/XPath/Variable.pm
  ../fmriqa/XML/XPath/XMLParser.pm
)

INSTALL_FILES(/bin/XML/XPath/Node
  FILES
  ../fmriqa/XML/XPath/Node/Attribute.pm
  ../fmriqa/XML/XPath/Node/Comment.pm
  ../fmriqa/XML/XPath/Node/Element.pm
  ../fmriqa/XML/XPath/Node/Namespace.pm
  ../fmriqa/XML/XPath/Node/PI.pm
  ../fmriqa/XML/XPath/Node/Text.pm
)

INSTALL_FILES(/bin/XML/Twig
  FILES
  ../fmriqa/XML/Twig/XPath.pm
)

INSTALL_FILES(/bin/XML/SAX
  FILES
  ../fmriqa/XML/SAX/Base.pm
  ../fmriqa/XML/SAX/DocumentLocator.pm
  ../fmriqa/XML/SAX/Exception.pm
  ../fmriqa/XML/SAX/Intro.pod
  ../fmriqa/XML/SAX/ParserDetails.ini
  ../fmriqa/XML/SAX/ParserFactory.pm
  ../fmriqa/XML/SAX/PurePerl.pm
)

INSTALL_FILES(/bin/XML/SAX/PurePerl
  FILES
  ../fmriqa/XML/SAX/PurePerl/DebugHandler.pm
  ../fmriqa/XML/SAX/PurePerl/DocType.pm
  ../fmriqa/XML/SAX/PurePerl/DTDDecls.pm
  ../fmriqa/XML/SAX/PurePerl/EncodingDetect.pm
  ../fmriqa/XML/SAX/PurePerl/Exception.pm
  ../fmriqa/XML/SAX/PurePerl/NoUnicodeExt.pm
  ../fmriqa/XML/SAX/PurePerl/Productions.pm
  ../fmriqa/XML/SAX/PurePerl/Reader.pm
  ../fmriqa/XML/SAX/PurePerl/UnicodeExt.pm
  ../fmriqa/XML/SAX/PurePerl/XMLDecl.pm
)

INSTALL_FILES(/bin/XML/SAX/PurePerl/Reader
  FILES
  ../fmriqa/XML/SAX/PurePerl/Reader/NoUnicodeExt.pm
  ../fmriqa/XML/SAX/PurePerl/Reader/Stream.pm
  ../fmriqa/XML/SAX/PurePerl/Reader/String.pm
  ../fmriqa/XML/SAX/PurePerl/Reader/UnicodeExt.pm
  ../fmriqa/XML/SAX/PurePerl/Reader/URI.pm
)

INSTALL_FILES(/include
  FILES
  ../libsrc/bxh_datarec.h
  ../libsrc/bxh_dicom.h
  ../libsrc/bxh_groupdocs.h
  ../libsrc/bxh_signa.h
  ../libsrc/bxh_signamaps.h
  bxh_signamapsgen.h
  ../libsrc/bxh_types.h
  ../libsrc/bxh_utils.h
  ../libsrc/bxh_niftilib.h
)

IF (BIACINSTALL)
  INSTALL_FILES(/bin
    FILES
    ${GLUT32_DLL}
    ${VTKCOMMON_DLL}
    ${VTKFILTERING_DLL}
    ${VTKGRAPHICS_DLL}
    ${VTKIMAGING_DLL}
    ${VTKPATENTED_DLL}
    ${IMCONVERT_EXE}
    ${IMEDIT_EXE}
    ${IMINFO_EXE}
    ${SNAPBXH_EXE}
  )
ENDIF (BIACINSTALL)

IF (HAVE_DCMTK)
  INSTALL_TARGETS(/lib libbxhdicom)
ENDIF (HAVE_DCMTK)

INSTALL_FILES(/bin
  FILES
  ${ASPRINTF_DLL}
  ${CHARSET_DLL}
  ${ICONV_DLL}
  ${INTL_DLL}
  ${GLIB_GLIB_DLL}
  ${GLIB_GMODULE_DLL}
  ${GLIB_GOBJECT_DLL}
  ${GLIB_GTHREAD_DLL}
  ${LIBXML2_DLL}
  ${LIBXSLT_DLL}
  ${LIBEXSLT_DLL}
  ${ZLIB_DLL}
)

IF (IMAGEMAGICK_PATH)
  INSTALL_FILES(/bin
    FILES
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/X11.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/Xext.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/mfc70.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/mfc71.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/msvcp70.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/msvcp71.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/msvcr70.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/msvcr71.dll
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/composite.exe
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/convert.exe
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/montage.exe
  )
  INSTALL_FILES(/bin
    FILES
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/coder.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/colors.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/configure.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/delegates.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/english.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/locale.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/log.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/magic.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/type-ghostscript.xml
    ${IMAGEMAGICK_PATH}/VisualMagick/bin/type.xml
  )
  INSTALL_FILES(/bin/images
    FILES
    ${IMAGEMAGICK_PATH}/images/arc.png
    ${IMAGEMAGICK_PATH}/images/background.jpg
    ${IMAGEMAGICK_PATH}/images/button.gif
    ${IMAGEMAGICK_PATH}/images/configure.jpg
    ${IMAGEMAGICK_PATH}/images/devlib.gif
    ${IMAGEMAGICK_PATH}/images/difference.png
    ${IMAGEMAGICK_PATH}/images/dogwaffle.jpg
    ${IMAGEMAGICK_PATH}/images/donate.png
    ${IMAGEMAGICK_PATH}/images/examples.jpg
    ${IMAGEMAGICK_PATH}/images/frame.jpg
    ${IMAGEMAGICK_PATH}/images/fuzzy-magick.png
    ${IMAGEMAGICK_PATH}/images/georeviews.gif
    ${IMAGEMAGICK_PATH}/images/granite.png
    ${IMAGEMAGICK_PATH}/images/label.gif
    ${IMAGEMAGICK_PATH}/images/logo.eps
    ${IMAGEMAGICK_PATH}/images/logo.jpg
    ${IMAGEMAGICK_PATH}/images/montage.jpg
    ${IMAGEMAGICK_PATH}/images/piechart.png
    ${IMAGEMAGICK_PATH}/images/reconstruct.jpg
    ${IMAGEMAGICK_PATH}/images/red-ball.png
    ${IMAGEMAGICK_PATH}/images/red-circle.png
    ${IMAGEMAGICK_PATH}/images/right.gif
    ${IMAGEMAGICK_PATH}/images/rose-over.png
    ${IMAGEMAGICK_PATH}/images/rose.jpg
    ${IMAGEMAGICK_PATH}/images/rose.png
    ${IMAGEMAGICK_PATH}/images/script.png
    ${IMAGEMAGICK_PATH}/images/smile.gif
    ${IMAGEMAGICK_PATH}/images/sponsor.jpg
    ${IMAGEMAGICK_PATH}/images/sprite.jpg
    ${IMAGEMAGICK_PATH}/images/travelsur.gif
    ${IMAGEMAGICK_PATH}/images/wand.ico
    ${IMAGEMAGICK_PATH}/images/white-highlight.png
  )
  INSTALL_FILES(/bin/images/patterns
    FILES
    ${IMAGEMAGICK_PATH}/images/patterns/bricks.png
    ${IMAGEMAGICK_PATH}/images/patterns/checkerboard.png
    ${IMAGEMAGICK_PATH}/images/patterns/circles.png
    ${IMAGEMAGICK_PATH}/images/patterns/crosshatch.png
    ${IMAGEMAGICK_PATH}/images/patterns/crosshatch30.png
    ${IMAGEMAGICK_PATH}/images/patterns/crosshatch45.png
    ${IMAGEMAGICK_PATH}/images/patterns/fishscales.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray0.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray10.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray100.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray15.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray20.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray25.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray30.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray35.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray40.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray45.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray5.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray50.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray55.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray60.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray65.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray70.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray75.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray80.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray85.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray90.png
    ${IMAGEMAGICK_PATH}/images/patterns/gray95.png
    ${IMAGEMAGICK_PATH}/images/patterns/hexagons.png
    ${IMAGEMAGICK_PATH}/images/patterns/horizontal.png
    ${IMAGEMAGICK_PATH}/images/patterns/horizontalsaw.png
    ${IMAGEMAGICK_PATH}/images/patterns/hs_bdiagonal.png
    ${IMAGEMAGICK_PATH}/images/patterns/hs_cross.png
    ${IMAGEMAGICK_PATH}/images/patterns/hs_diagcross.png
    ${IMAGEMAGICK_PATH}/images/patterns/hs_fdiagonal.png
    ${IMAGEMAGICK_PATH}/images/patterns/hs_horizontal.png
    ${IMAGEMAGICK_PATH}/images/patterns/hs_vertical.png
    ${IMAGEMAGICK_PATH}/images/patterns/left30.png
    ${IMAGEMAGICK_PATH}/images/patterns/left45.png
    ${IMAGEMAGICK_PATH}/images/patterns/leftshingle.png
    ${IMAGEMAGICK_PATH}/images/patterns/octagons.png
    ${IMAGEMAGICK_PATH}/images/patterns/right30.png
    ${IMAGEMAGICK_PATH}/images/patterns/right45.png
    ${IMAGEMAGICK_PATH}/images/patterns/rightshingle.png
    ${IMAGEMAGICK_PATH}/images/patterns/smallfishscales.png
    ${IMAGEMAGICK_PATH}/images/patterns/vertical.png
    ${IMAGEMAGICK_PATH}/images/patterns/verticalbricks.png
    ${IMAGEMAGICK_PATH}/images/patterns/verticalleftshingle.png
    ${IMAGEMAGICK_PATH}/images/patterns/verticalrightshingle.png
    ${IMAGEMAGICK_PATH}/images/patterns/verticalsaw.png
  )
ENDIF (IMAGEMAGICK_PATH)
IF (GNUPLOT_PATH)
  INSTALL_FILES(/bin
    FILES
    ${GNUPLOT_PATH}/bin/pgnuplot.exe
    ${GNUPLOT_PATH}/bin/wgnuplot.exe
  )
ENDIF (GNUPLOT_PATH)
