# ---------------------------------------------------------------------
#
# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
#                        pour la Sant�)
# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
# Previous Authors : Laurent Guigues, Jean-Pierre Roux
# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
#
#  This software is governed by the CeCILL-B license under French law and
#  abiding by the rules of distribution of free software. You can  use,
#  modify and/ or redistribute the software under the terms of the CeCILL-B
#  license as circulated by CEA, CNRS and INRIA at the following URL
#  http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
#  or in the file LICENSE.txt.
#
#  As a counterpart to the access to the source code and  rights to copy,
#  modify and redistribute granted by the license, users are provided only
#  with a limited warranty  and the software's author,  the holder of the
#  economic rights,  and the successive licensors  have only  limited
#  liability.
#
#  The fact that you are presently reading this means that you have had
#  knowledge of the CeCILL-B license and that you accept its terms.
# ------------------------------------------------------------------------ */

# This directory should only be build if wxWindows and VTK can be found


#-----------------------------------------------------------------------------
# Headers Requeridas - Required Headers
#-----------------------------------------------------------------------------
INCLUDE_DIRECTORIES(
"C:/Creatis/MaracasTools/OSGi/src"
"C:/Creatis/MaracasTools/Include"
)

#-----------------------------------------------------------------------------
# Lib directory
#-----------------------------------------------------------------------------
LINK_DIRECTORIES(
"C:/Creatis/MaracasTools/OSGi/bin/Debug"
)

#-----------------------------------------------------------------------------
# Source file list
#-----------------------------------------------------------------------------
SET(MARACAS_TOOLS_SOURCES
    "tools/MaracasTools.h"
    "tools/MaracasTools.cpp"
)



#-----------------------------------------------------------------------------
# Required libraries (dll o so)
#-----------------------------------------------------------------------------


#TODO for a nice VC++ we need to add header file...
SET(MARACAS_LIB_SRCS
  manualContour.cpp
  manualContour.h
  marDictionary.cxx
  marDictionary.h
  wxMaracas3DBrowser.cxx
  wxMaracas3DBrowser.h
#  wxMaracasDataBrowser.cxx
#  wxMaracasDataBrowser.h
  wxMaracasImageBrowser.cxx
  wxMaracasImageBrowser.h
  wxMaracasFrame.cxx
  wxMaracasFrame.h
  wxMaracasParametersDialog.cxx
  wxMaracasParametersDialog.h
  widgets/wxParametersDialog.cpp
  widgets/wxParametersDialog.h
  wxMaracasHelpDialog.cxx
  wxMaracasHelpDialog.h
  wxMaracasQuantification.cxx
  wxMaracasQuantification.h
  wxMaracasSurfaceRendering.cxx
  wxMaracasSurfaceRendering.h
  wxMaracasRendererView.cxx
  wxMaracasRendererView.h
  
  
  	
##  widgets/wxVTKRenderWindowInteractor.cxx
##  widgets/wxVTKRenderWindowInteractor.h
  widgets/wxVTKRenderWindowInteractorEditContour.cxx
  widgets/wxVTKRenderWindowInteractorEditContour.h
  widgets/vtk3DSurfaceWidget.cxx
  widgets/vtk3DSurfaceWidget.h
  widgets/vtk3DQuantSurfaceWidget.cxx
  widgets/vtk3DQuantSurfaceWidget.h
  widgets/vtk2DQuantSliceWidget.cxx
  widgets/vtk2DQuantSliceWidget.h
  widgets/wxSurfaceWidget.cxx
  widgets/wxSurfaceWidget.h
  widgets/wxImageBrowserWdg.cxx
  widgets/wxImageBrowserWdg.h
  widgets/wxImageViewerWidget.cxx
  widgets/wxImageViewerWidget.h
  widgets/vtkClosePolyData.cxx
  widgets/vtkClosePolyData.h
#  widgets/vtkImagePolyDataSeedConnectivity.cxx
#  widgets/vtkImagePolyDataSeedConnectivity.h
#  widgets/vtkInteractorStyleCutter.cxx
#  widgets/vtkInteractorStyleCutter.h
#  widgets/wxChart.cxx
#  widgets/wxChart.h
  widgets/wxQuantificationWidget.cxx
  widgets/wxQuantificationWidget.h
  wxMaracas_ManualTree_MPRDlg.cxx
  wxMaracas_ManualTree_MPRDlg.h
  wxMaracas_ManualTree_MPR.cxx
  wxMaracas_ManualTree_MPR.h
  widgets/wxManualTree_MPRWidget.cxx
  widgets/wxManualTree_MPRWidget.h
  widgets/wxManualRegistration3D.cxx
  widgets/wxManualRegistration3D.h
  wxMaracasMPR.cxx
  wxMaracasMPR.h
  widgets/wxMPRWidget.cxx
  widgets/wxMPRWidget.h
  widgets/wxMPRBaseData.cxx
  widgets/wxMPRBaseData.h
  widgets/wxVtkBaseView.cxx
  widgets/wxVtkBaseView.h
  widgets/wxQuantificationWidget_base.cxx
  widgets/wxQuantificationWidget_base.h
  widgets/UtilVtk3DGeometriSelection.cxx
  widgets/UtilVtk3DGeometriSelection.h
  res/wxInterface.rc
)


ADD_LIBRARY(MaracasInterfaceWX ${MARACAS_LIB_SRCS} )
TARGET_LINK_LIBRARIES(MaracasInterfaceWX
  ${maracas_WXWIDGETS_LIBRARIES}
  MaracasAlgorithm
  MaracasKernel
  MaracasSnakeContour
  #${LIBIDO_LIBRARIES}
  #${GLIB_LIBRARIES}
  vtkCommon  vtkFiltering  vtkGraphics  vtkIO  vtkImaging  vtkRendering  vtkHybrid
)




#TODO for a nice VC++ we need to add header file...
SET(MARACAS_LIB_SRCS_02
  manualContour.cpp
  manualContour.h
  marDictionary.cxx
  marDictionary.h
  wxMaracas3DBrowser.cxx
  wxMaracas3DBrowser.h
  wxMaracasDataBrowser.cxx
  wxMaracasDataBrowser.h
  wxMaracasImageBrowser.cxx
  wxMaracasImageBrowser.h
  wxMaracasImageBrowser02.cxx
  wxMaracasImageBrowser02.h
  widgets/wxReadingPriorityPanel.cpp
  widgets/wxReadingPriorityPanel.h
  wxMaracasFrame02.cxx
  wxMaracasFrame02.h
  wxILPDwithImage.cxx
  wxILPDwithImage.h
  wxMaracasParametersDialog.cxx
  wxMaracasParametersDialog.h
  widgets/wxParametersDialog.cpp
  widgets/wxParametersDialog.h
  wxMaracasHelpDialog.cxx
  wxMaracasHelpDialog.h
  wxMaracasQuantification.cxx
  wxMaracasQuantification.h
##  widgets/wxVTKRenderWindowInteractor.cxx
##  widgets/wxVTKRenderWindowInteractor.h
  widgets/wxVTKRenderWindowInteractorEditContour.cxx
  widgets/wxVTKRenderWindowInteractorEditContour.h
  widgets/vtk3DSurfaceWidget.cxx
  widgets/vtk3DSurfaceWidget.h
  widgets/vtk3DQuantSurfaceWidget.cxx
  widgets/vtk3DQuantSurfaceWidget.h
  widgets/vtk2DQuantSliceWidget.cxx
  widgets/vtk2DQuantSliceWidget.h
  widgets/vtk3DSurfaceSTLWidget.cxx
  widgets/vtk3DSurfaceSTLWidget.h
  widgets/wxSurfaceSTLWidget.cxx
  widgets/wxSurfaceSTLWidget.h
  widgets/InterfaceVtkPanelWidgets.cxx
  widgets/InterfaceVtkPanelWidgets.h
  widgets/wxSurfaceWidget.cxx
  widgets/wxSurfaceWidget.h
  widgets/wxImageBrowserWdg.cxx
  widgets/wxImageBrowserWdg.h
  widgets/wxImageViewerWidget.cxx
  widgets/wxImageViewerWidget.h
  widgets/vtkClosePolyData.cxx
  widgets/vtkClosePolyData.h
  widgets/vtkImagePolyDataSeedConnectivity.cxx
  widgets/vtkImagePolyDataSeedConnectivity.h
  widgets/vtkInteractorStyleCutter.cxx
  widgets/vtkInteractorStyleCutter.h
#  widgets/wxChart.cxx
#  widgets/wxChart.h
  widgets/wxQuantificationWidget.cxx
  widgets/wxQuantificationWidget.h
  wxMaracasMPR.cxx
  wxMaracasMPR.h
  wxMaracasEmptyPanel.cxx
  wxMaracasEmptyPanel.h
  widgets/wxEmptyPanelWidget.cxx
  widgets/wxEmptyPanelWidget.h
  wxMaracasEmptyPanel_2.cxx
  wxMaracasEmptyPanel_2.h
  widgets/wxEmptyPanelWidget_2.cxx
  widgets/wxEmptyPanelWidget_2.h
  widgets/wxMPRWidget.cxx
  widgets/wxMPRWidget.h
  widgets/wxMPRBaseData.cxx
  widgets/wxMPRBaseData.h
  widgets/wxVtkBaseView.cxx
  widgets/wxVtkBaseView.h
  widgets/wxMaracas_ViewerWidget.cxx
  widgets/wxMaracas_ViewerWidget.h
  widgets/wxMaracas_N_ViewersWidget.cxx
  widgets/wxMaracas_N_ViewersWidget.h
  wxMaracasProcessingCT.cxx
  wxMaracasProcessingCT.h
  widgets/wxProcessingCTWidget.cxx
  widgets/wxProcessingCTWidget.h
  wxMaracasQuantificationCT.cxx
  wxMaracasQuantificationCT.h
  widgets/wxQuantificationWidgetCT.cxx
  widgets/wxQuantificationWidgetCT.h
  widgets/wxQuantificationWidget_base.cxx
  widgets/wxQuantificationWidget_base.h
  wxMaracasEmptyPanel_3.cxx
  wxMaracasEmptyPanel_3.h
  widgets/wxEmptyPanel_3_Widget.cxx
  widgets/wxEmptyPanel_3_Widget.h
  wxMaracas_ManualTree_MPRDlg.cxx
  wxMaracas_ManualTree_MPRDlg.h
  wxMaracas_ManualTree_MPR.cxx
  wxMaracas_ManualTree_MPR.h
  widgets/wxManualTree_MPRWidget.cxx
  widgets/wxManualTree_MPRWidget.h
  widgets/wxManualRegistration3D.cxx
  widgets/wxManualRegistration3D.h
  res/wxInterface.rc
  widgets/ContourView.h
  widgets/ContourView.cxx
  widgets/PointView.h
  widgets/PointView.cxx
  widgets/LineView.h
  widgets/LineView.cxx
  wxMaracasPathology_01.cxx
  wxMaracasPathology_01.h
  widgets/wxPathologyWidget_01.cxx
  widgets/wxPathologyWidget_01.h
  widgets/wxSTLWidget_02.cxx
  widgets/wxSTLWidget_02.h
  widgets/wxSTLWidget_03.cxx
  widgets/wxSTLWidget_03.h
  widgets/UtilVtk3DGeometriSelection.cxx
  widgets/UtilVtk3DGeometriSelection.h
  manualContourContainer.cxx
  manualContourContainer.h
  wxMaracas_ManualSegmentation_MPR.cxx
  wxMaracas_ManualSegmentation_MPR.h
  widgets/wxManualSegmentation_MPRWidget.cxx
  widgets/wxManualSegmentation_MPRWidget.h
  wxMaracas_SegmentationFM3D.cxx
  wxMaracas_SegmentationFM3D.h
  widgets/wxSegmentationFM3DWidget.cxx
  widgets/wxSegmentationFM3DWidget.h
  wxMaracas_ManualContour_Panel.cxx
  wxMaracas_ManualContour_Panel.h

)



ADD_LIBRARY(MaracasInterface02WX ${MARACAS_LIB_SRCS_02} )
TARGET_LINK_LIBRARIES(MaracasInterface02WX
  ${maracas_WXWIDGETS_LIBRARIES}
  MaracasAlgorithm
  MaracasKernel
  MaracasSnakeContour
  ${GLIB_LIBRARIES}
  vtkCommon  vtkFiltering  vtkGraphics  vtkIO  vtkImaging  vtkRendering vtkHybrid
)

SET(MARACAS_WIN32LIB_SRCS
    MaracasDll.h
    MaracasDll.cpp
    StdAfx.h
    StdAfx.cpp
    wxMaracasApp.cxx
    wxMaracasApp.h
#    ../../kernel/marSimpleDicom.cpp
#    ../../kernel/marSimpleDicom.h
    res/wxInterface.rc
  )



IF(WIN32)
  SET(MARACAS_WIN32APP_SRCS
    wxMaracasApp02.cxx
    wxMaracasApp02.h
    res/wxInterface.rc
  )
  set(CMAKE_MFC_FLAG 2)
  ADD_EXECUTABLE(maracas WIN32 ${MARACAS_WIN32APP_SRCS} )

  TARGET_LINK_LIBRARIES(maracas

    	MaracasAlgorithm    MaracasKernel    MaracasSnakeContour    MaracasInterface02WX
    	vtkCommon  vtkFiltering  vtkGraphics  vtkIO  vtkImaging  vtkRendering vtkHybrid 
	vtkWidgets vtkVolumeRendering

	ILPDInterface ILPDModel ILPDcontrolerInterface 
    	${MYSQL_LIBRARIES} 
    	${maracas_WXWIDGETS_LIBRARIES}
	#${GDCM_LIBRARIES} 
 )


  IF(MYSQL_PATH)

##----Copy Debug cofiguration and DLLs---

    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Debug )
    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Debug/MySql/data )
    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Debug/MySql/share )
    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Debug/MySql/share/english )
    CONFIGURE_FILE( ${MARACAS_SOURCE_DIR}/configuration/my.ini        ${LIBRARY_OUTPUT_PATH}/debug/my.ini                           COPYONLY        )
    CONFIGURE_FILE( ${MARACAS_SOURCE_DIR}/configuration/errmsg.txt    ${LIBRARY_OUTPUT_PATH}/debug/MySql/share/english/errmsg.txt   COPYONLY        )
    CONFIGURE_FILE( ${MARACAS_SOURCE_DIR}/configuration/errmsg.sys    ${LIBRARY_OUTPUT_PATH}/debug/MySql/share/english/errmsg.sys   COPYONLY        )

    CONFIGURE_FILE( ${LIBIDO_BINARY_DIR}/lib/debug/libIdo.dll	${LIBRARY_OUTPUT_PATH}/debug/libIdo.dll	COPYONLY        )
    CONFIGURE_FILE( C:/Creatis/glib-1.3/src/glib/glib-1.3.dll	${LIBRARY_OUTPUT_PATH}/debug/glib-1.3.dll	COPYONLY        )

    IF ( EXISTS ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28d_net_vc_custom.dll )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28d_net_vc_custom.dll	${LIBRARY_OUTPUT_PATH}/debug/wxbase28d_net_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28d_odbc_vc_custom.dll	${LIBRARY_OUTPUT_PATH}/debug/wxbase28d_odbc_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28d_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxbase28d_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28d_xml_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxbase28d_xml_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_adv_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_adv_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_aui_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_aui_vc_custom.dll	        COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_core_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_core_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_gl_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_gl_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_html_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_html_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_media_vc_custom.dll     ${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_media_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_qa_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_qa_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_richtext_vc_custom.dll  ${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_richtext_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28d_xrc_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/debug/wxmsw28d_xrc_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE(
${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_aui_vc_custom.dll
${LIBRARY_OUTPUT_PATH}/debug/wxmsw28_aui_vc_custom.dll          COPYONLY        ) 
    ELSE ( EXISTS ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28d_net_vc_custom.dll )
	MESSAGE (FATAL_ERROR, " wxWidgets dlls not found (Debug copy dlls)")
    ENDIF( EXISTS ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28d_net_vc_custom.dll )

    IF ( EXISTS ${MYSQL_PATH}/Embedded/DLL/debug/libmysqld.dll )
      CONFIGURE_FILE( ${MYSQL_PATH}/Embedded/DLL/debug/libmysqld.dll    ${LIBRARY_OUTPUT_PATH}/debug/libmysqld.dll                    COPYONLY        )
    ELSE ( EXISTS ${MYSQL_PATH}/Embedded/DLL/debug/libmysqld.dll )
	  MESSAGE (FATAL_ERROR, " libmysqld.dll not found (Debug copy dlls)")
    ENDIF( EXISTS ${MYSQL_PATH}/Embedded/DLL/debug/libmysqld.dll )


    IF ( EXISTS ${VTK_DIR}/../../bin/vtkCommon.dll )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkCommon.dll            ${LIBRARY_OUTPUT_PATH}/debug/vtkCommon.dll                    COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkDICOMParser.dll       ${LIBRARY_OUTPUT_PATH}/debug/vtkDICOMParser.dll               COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkexpat.dll             ${LIBRARY_OUTPUT_PATH}/debug/vtkexpat.dll                     COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkFiltering.dll         ${LIBRARY_OUTPUT_PATH}/debug/vtkFiltering.dll                 COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkfreetype.dll          ${LIBRARY_OUTPUT_PATH}/debug/vtkfreetype.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkftgl.dll              ${LIBRARY_OUTPUT_PATH}/debug/vtkftgl.dll                      COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkGraphics.dll          ${LIBRARY_OUTPUT_PATH}/debug/vtkGraphics.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkHybrid.dll            ${LIBRARY_OUTPUT_PATH}/debug/vtkHybrid.dll                    COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkImaging.dll           ${LIBRARY_OUTPUT_PATH}/debug/vtkImaging.dll                   COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkIO.dll                ${LIBRARY_OUTPUT_PATH}/debug/vtkIO.dll                        COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkjpeg.dll              ${LIBRARY_OUTPUT_PATH}/debug/vtkjpeg.dll                      COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkWidgets.dll          ${LIBRARY_OUTPUT_PATH}/debug/vtkWidgets.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkVolumeRendering.dll          ${LIBRARY_OUTPUT_PATH}/debug/vtkVolumeRendering.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkexoIIc.dll          ${LIBRARY_OUTPUT_PATH}/debug/vtkexoIIc.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkNetCDF.dll          ${LIBRARY_OUTPUT_PATH}/debug/vtkNetCDF.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkpng.dll               ${LIBRARY_OUTPUT_PATH}/debug/vtkpng.dll                       COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkRendering.dll         ${LIBRARY_OUTPUT_PATH}/debug/vtkRendering.dll                 COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtktiff.dll              ${LIBRARY_OUTPUT_PATH}/debug/vtktiff.dll                      COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkzlib.dll              ${LIBRARY_OUTPUT_PATH}/debug/vtkzlib.dll                      COPYONLY        )
    ELSE ( EXISTS ${VTK_DIR}/../../bin/vtkCommon.dll )
	   MESSAGE (FATAL_ERROR, " VTK dlls not found (Debug copy dlls)")
    ENDIF( EXISTS ${VTK_DIR}/../../bin/vtkCommon.dll )

    IF ( EXISTS ${ITK_DIR}/../../bin/ITKCommon.dll )
      CONFIGURE_FILE( ${ITK_DIR}/../../bin/ITKCommon.dll            ${LIBRARY_OUTPUT_PATH}/debug/ITKCommon.dll                    COPYONLY        )
    ELSE ( EXISTS ${ITK_DIR}/../../bin/ITKCommon.dll )
	  MESSAGE (FATAL_ERROR, " ITK dlls not found (Debug copy dlls)")
    ENDIF( EXISTS ${ITK_DIR}/../../bin/ITKCommon.dll )



##----Copy Release configuration and DLLs---

    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Release )
    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Release/MySql/data )
    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Release/MySql/share )
    FILE(MAKE_DIRECTORY ${LIBRARY_OUTPUT_PATH}/Release/MySql/share/english )
    CONFIGURE_FILE( ${MARACAS_SOURCE_DIR}/configuration/my.ini        ${LIBRARY_OUTPUT_PATH}/release/my.ini                         COPYONLY        )
    CONFIGURE_FILE( ${MARACAS_SOURCE_DIR}/configuration/errmsg.txt    ${LIBRARY_OUTPUT_PATH}/release/MySql/share/english/errmsg.txt COPYONLY        )
    CONFIGURE_FILE( ${MARACAS_SOURCE_DIR}/configuration/errmsg.sys    ${LIBRARY_OUTPUT_PATH}/release/MySql/share/english/errmsg.sys COPYONLY        )

    CONFIGURE_FILE( ${LIBIDO_BINARY_DIR}/lib/release/libIdo.dll	${LIBRARY_OUTPUT_PATH}/release/libIdo.dll	COPYONLY        )
    CONFIGURE_FILE( C:/Creatis/glib-1.3/src/glib/glib-1.3.dll	${LIBRARY_OUTPUT_PATH}/release/glib-1.3.dll	COPYONLY        )

    IF ( EXISTS ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28_net_vc_custom.dll )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28_net_vc_custom.dll	${LIBRARY_OUTPUT_PATH}/release/wxbase28_net_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28_odbc_vc_custom.dll	${LIBRARY_OUTPUT_PATH}/release/wxbase28_odbc_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxbase28_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28_xml_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxbase28_xml_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_adv_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_adv_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_aui_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_aui_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_core_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_core_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_gl_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_gl_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_html_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_html_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_media_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_media_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_richtext_vc_custom.dll   ${LIBRARY_OUTPUT_PATH}/release/wxmsw28_richtext_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_qa_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_qa_vc_custom.dll		COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_xrc_vc_custom.dll    	${LIBRARY_OUTPUT_PATH}/release/wxmsw28_xrc_vc_custom.dll	COPYONLY        )
      CONFIGURE_FILE( ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxmsw28_aui_vc_custom.dll        ${LIBRARY_OUTPUT_PATH}/debug/wxmsw28_aui_vc_custom.dll		COPYONLY        ) 
    ELSE ( EXISTS ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28_net_vc_custom.dll )
	MESSAGE (FATAL_ERROR, " wxWidgets dlls not found (Release copy dlls)")
    ENDIF( EXISTS ${WXWIDGETS_ROOT_DIR}/lib/vc_dll/wxbase28_net_vc_custom.dll )


    IF ( EXISTS ${MYSQL_PATH}/Embedded/DLL/release/libmysqld.dll )
      CONFIGURE_FILE( ${MYSQL_PATH}/Embedded/DLL/release/libmysqld.dll  ${LIBRARY_OUTPUT_PATH}/release/libmysqld.dll                  COPYONLY        )
    ELSE ( EXISTS ${MYSQL_PATH}/Embedded/DLL/release/libmysqld.dll )
	MESSAGE (FATAL_ERROR, " libmysqld.dll not found (Release copy dlls)")
    ENDIF( EXISTS ${MYSQL_PATH}/Embedded/DLL/release/libmysqld.dll )

    IF ( EXISTS ${VTK_DIR}/../../bin/vtkCommon.dll )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkCommon.dll            ${LIBRARY_OUTPUT_PATH}/release/vtkCommon.dll                    COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkDICOMParser.dll       ${LIBRARY_OUTPUT_PATH}/release/vtkDICOMParser.dll               COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkexpat.dll             ${LIBRARY_OUTPUT_PATH}/release/vtkexpat.dll                     COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkFiltering.dll         ${LIBRARY_OUTPUT_PATH}/release/vtkFiltering.dll                 COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkfreetype.dll          ${LIBRARY_OUTPUT_PATH}/release/vtkfreetype.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkftgl.dll              ${LIBRARY_OUTPUT_PATH}/release/vtkftgl.dll                      COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkGraphics.dll          ${LIBRARY_OUTPUT_PATH}/release/vtkGraphics.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkHybrid.dll            ${LIBRARY_OUTPUT_PATH}/release/vtkHybrid.dll                    COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkImaging.dll           ${LIBRARY_OUTPUT_PATH}/release/vtkImaging.dll                   COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkIO.dll                ${LIBRARY_OUTPUT_PATH}/release/vtkIO.dll                        COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkjpeg.dll              ${LIBRARY_OUTPUT_PATH}/release/vtkjpeg.dll                      COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkWidgets.dll          ${LIBRARY_OUTPUT_PATH}/release/vtkWidgets.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkVolumeRendering.dll          ${LIBRARY_OUTPUT_PATH}/release/vtkVolumeRendering.dll                  COPYONLY )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkexoIIc.dll          ${LIBRARY_OUTPUT_PATH}/release/vtkexoIIc.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkNetCDF.dll          ${LIBRARY_OUTPUT_PATH}/release/vtkNetCDF.dll                  COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkpng.dll               ${LIBRARY_OUTPUT_PATH}/release/vtkpng.dll                       COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkRendering.dll         ${LIBRARY_OUTPUT_PATH}/release/vtkRendering.dll                 COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtktiff.dll              ${LIBRARY_OUTPUT_PATH}/release/vtktiff.dll                      COPYONLY        )
      CONFIGURE_FILE( ${VTK_DIR}/../../bin/vtkzlib.dll              ${LIBRARY_OUTPUT_PATH}/release/vtkzlib.dll                      COPYONLY        )
    ELSE ( EXISTS ${VTK_DIR}/../../bin/vtkCommon.dll )
	  MESSAGE (FATAL_ERROR, " VTK dlls not found (Release copy dlls)")
    ENDIF( EXISTS ${VTK_DIR}/../../bin/vtkCommon.dll )


    IF ( EXISTS ${ITK_DIR}/../../bin/ITKCommon.dll )
      CONFIGURE_FILE( ${ITK_DIR}/../../bin/ITKCommon.dll            ${LIBRARY_OUTPUT_PATH}/release/ITKCommon.dll                    COPYONLY        )
    ELSE ( EXISTS ${ITK_DIR}/../../bin/ITKCommon.dll )
	  MESSAGE (FATAL_ERROR, " ITK dlls not found (Release copy dlls)")
    ENDIF( EXISTS ${ITK_DIR}/../../bin/ITKCommon.dll )

ENDIF(MYSQL_PATH)

ELSE(WIN32)


  SET(MARACAS_LINUXAPP_SRCS
    wxMaracasApp02.cxx
    wxMaracasApp02.h
  )

  ADD_EXECUTABLE(maracas ${MARACAS_LINUXAPP_SRCS} )


  TARGET_LINK_LIBRARIES(maracas
    	MaracasAlgorithm    MaracasKernel    MaracasSnakeContour    MaracasInterface02WX
    	vtkCommon  vtkFiltering  vtkGraphics  vtkIO  vtkImaging  vtkRendering vtkHybrid 
	vtkWidgets vtkVolumeRendering

    	ILPDcontrolerInterface
    	ILPDInterface 
    	ILPDModel 
    	${MYSQL_LIBRARIES}
    	${maracas_WXWIDGETS_LIBRARIES}
 )


ENDIF(WIN32)
ADD_SUBDIRECTORY(widgets)




