project(Simulador)

find_package(VTK REQUIRED)

find_package(PkgConfig)

pkg_check_modules(LIBGLADEMM REQUIRED libglademm-2.4)

pkg_check_modules(GTKGLEXT REQUIRED gtkglext-1.0)

if(${MSVC})
#   removes the math linking
    list(REMOVE_ITEM LIBGLADEMM_LIBRARIES "m")
    list(REMOVE_ITEM GTKGLEXT_LIBRARIES "m")
endif(${MSVC})

subdirs(vtkmm)

include(${VTK_USE_FILE})

include_directories(
    ${LIBGLADEMM_INCLUDE_DIRS}
    ${GTKGLEXT_INCLUDE_DIRS}
    vtkmm
    ode-0.9/include
    cppunit-1.12.1/include )

link_directories(
    ${LIBGLADEMM_LIBRARY_DIRS}
    ${GTKGLEXT_LIBRARY_DIRS}
    vtkmm
    ode-0.9
    cppunit-1.12.1 )

add_executable(Simulador
    main.cc
    collisionWatcher.hh
    collisionWatchers.cc
    collisionWatchers.hh
    color.cc
    color.hh
    colorsButton.cc
    colorsButton.hh
    colorsMenu.cc
    colorsMenu.hh
	colorsWindow.cc
	colorsWindow.hh
	configuration.cc
	configuration.hh
	cpsMenu.cc
	cpsMenu.hh
    cubeEnvironment.cc
    cubeEnvironment.hh
    cubeEnvironmentMenu.cc
    cubeEnvironmentMenu.hh
    cylinderEnvironment.cc
    cylinderEnvironment.hh
    cylinderEnvironmentMenu.cc
    cylinderEnvironmentMenu.hh
    diffusionMenu.cc
    diffusionMenu.hh
    durationSlider.cc
    durationSlider.hh
    environment.cc
    environment.hh
    environmentCombo.cc
    environmentCombo.hh
    environmentFactory.cc
    environmentFactory.hh
    environmentSizeSpin.cc
    environmentSizeSpin.hh
	environmentTest.cc
	environmentTest.hh
	exitButton.cc
	exitButton.hh
    fileDialog.cc
    fileDialog.hh
    fpsMenu.cc
    fpsMenu.hh
    mainWindow.cc
    mainWindow.hh
    menuQuit.cc
    menuQuit.hh
    molecule.cc
    molecule.hh
    mtrand.cpp
    mtrand.h
	numberSpin.cc
	numberSpin.hh
	onScreenCPS.cc
	onScreenCPS.hh
	onScreenDiffusion.cc
	onScreenDiffusion.hh
	onScreenFPS.cc
	onScreenFPS.hh
	onScreenStatistic.cc
	onScreenStatistic.hh
	parameterWidget.hh
	path.cc
	path.hh
	pathCheckbox.cc
	pathCheckbox.hh
	pathColorsMenu.cc
	pathColorsMenu.hh
	pathsButton.cc
	pathsButton.hh
	pathsMenu.cc
	pathsMenu.hh
	pathsWindow.cc
    pathsWindow.hh
	pauseButton.cc
	pauseButton.hh
	radiusSpin.cc
	radiusSpin.hh
    simulation.cc
    simulation.hh
    simulationVisualization.cc
    simulationVisualization.hh
    startButton.cc
    startButton.hh
    temperatureSpin.cc
    temperatureSpin.hh
    type.cc
    type.hh
    vector.cc
    vector.hh
    vectorTest.cc
    vectorTest.hh )

target_link_libraries(Simulador
    ${LIBGLADEMM_LIBRARIES}
    cppunit
    ode-imports
    vtkRendering
    vtkGraphics
    vtkImaging
    vtkIO
    vtkFiltering
    vtkCommon
    vtksys
    vtkDICOMParser
    vtkftgl
    vtkmm )
