#
# Name of project
#
PROJECT (Operations)

#
# Add QT for includes
#
if(Qt6_FOUND)
    include_directories(${Qt6Core_INCLUDE_DIRS})
    include_directories(${Qt6Core5Compat_INCLUDE_DIRS})
    include_directories(${Qt6Gui_INCLUDE_DIRS})
endif()
if(Qt5_FOUND)
    include_directories(${Qt5Core_INCLUDE_DIRS})
    include_directories(${Qt5Gui_INCLUDE_DIRS})
endif()

#
# Create the helper library
#
ADD_LIBRARY(Operations
OperationAddToSpecFile.h
OperationBackendAverageDenseROI.h
OperationBackendAverageROICorrelation.h
OperationBorderExportColorTable.h
OperationBorderFileExportToCaret5.h
OperationBorderLength.h
OperationBorderMerge.h
OperationCiftiAverage.h
OperationCiftiChangeMapping.h
OperationCiftiChangeTimestep.h
OperationCiftiConvert.h
OperationCiftiConvertToScalar.h
OperationCiftiCopyMapping.h
OperationCiftiCreateDenseFromTemplate.h
OperationCiftiCreateParcellatedFromTemplate.h
OperationCiftiCreateScalarSeries.h
OperationCiftiEstimateFWHM.h
OperationCiftiExportDenseMapping.h
OperationCiftiLabelExportTable.h
OperationCiftiLabelImport.h
OperationCiftiMath.h
OperationCiftiMerge.h
OperationCiftiPalette.h
OperationCiftiResampleDconnMemory.h
OperationCiftiROIAverage.h
OperationCiftiSeparateAll.h
OperationCiftiStats.h
OperationCiftiWeightedStats.h
OperationConvertAffine.h
OperationConvertFiberOrientations.h
OperationConvertMatrix4ToMatrix2.h
OperationConvertMatrix4ToWorkbenchSparse.h
OperationConvertWarpfield.h
OperationEstimateFiberBinghams.h
OperationException.h
OperationFileConvert.h
OperationFileInformation.h
OperationFociCreate.h
OperationFociGetProjectionVertex.h
OperationFociListCoords.h
OperationGiftiConvert.h
OperationLabelExportTable.h
OperationLabelMask.h
OperationLabelMerge.h
OperationMetadataRemoveProvenance.h
OperationMetadataStringReplace.h
OperationMetricConvert.h
OperationMetricLabelImport.h
OperationMetricMask.h
OperationMetricMath.h
OperationMetricMerge.h
OperationMetricPalette.h
OperationMetricStats.h
OperationMetricVertexSum.h
OperationMetricWeightedStats.h
OperationNiftiInformation.h
OperationProbtrackXDotConvert.h
OperationSceneFileMerge.h
OperationSceneFileRelocate.h
OperationSceneFileUpdate.h
OperationSetMapName.h
OperationSetMapNames.h
OperationSetStructure.h
OperationShowScene.h
OperationShowSceneTwo.h
OperationSpecFileMerge.h
OperationSpecFileModify.h
OperationSpecFileRelocate.h
OperationSurfaceClosestVertex.h
OperationSurfaceCoordinatesToMetric.h
OperationSurfaceCutResample.h
OperationSurfaceFlipNormals.h
OperationSurfaceGeodesicDistance.h
OperationSurfaceGeodesicDistanceAllToAll.h
OperationSurfaceGeodesicDistanceSparseText.h
OperationSurfaceGeodesicROIs.h
OperationSurfaceInformation.h
OperationSurfaceNormals.h
OperationSurfaceSetCoordinates.h
OperationSurfaceSphereTriangularPatches.h
OperationSurfaceVertexAreas.h
OperationVolumeCapturePlane.h
OperationVolumeComponentsToFrames.h
OperationVolumeCopyExtensions.h
OperationVolumeCreate.h
OperationVolumeLabelExportTable.h
OperationVolumeLabelImport.h
OperationVolumeMath.h
OperationVolumeMerge.h
OperationVolumePalette.h
OperationVolumeReorient.h
OperationVolumeSetSpace.h
OperationVolumeStats.h
OperationVolumeWeightedStats.h
OperationWbsparseMergeDense.h
OperationZipSceneFile.h
OperationZipSpecFile.h

OperationAddToSpecFile.cxx
OperationBackendAverageDenseROI.cxx
OperationBackendAverageROICorrelation.cxx
OperationBorderExportColorTable.cxx
OperationBorderFileExportToCaret5.cxx
OperationBorderLength.cxx
OperationBorderMerge.cxx
OperationCiftiAverage.cxx
OperationCiftiChangeMapping.cxx
OperationCiftiChangeTimestep.cxx
OperationCiftiConvert.cxx
OperationCiftiConvertToScalar.cxx
OperationCiftiCopyMapping.cxx
OperationCiftiCreateDenseFromTemplate.cxx
OperationCiftiCreateParcellatedFromTemplate.cxx
OperationCiftiCreateScalarSeries.cxx
OperationCiftiEstimateFWHM.cxx
OperationCiftiExportDenseMapping.cxx
OperationCiftiLabelExportTable.cxx
OperationCiftiLabelImport.cxx
OperationCiftiMath.cxx
OperationCiftiMerge.cxx
OperationCiftiPalette.cxx
OperationCiftiResampleDconnMemory.cxx
OperationCiftiROIAverage.cxx
OperationCiftiSeparateAll.cxx
OperationCiftiStats.cxx
OperationCiftiWeightedStats.cxx
OperationConvertAffine.cxx
OperationConvertFiberOrientations.cxx
OperationConvertMatrix4ToMatrix2.cxx
OperationConvertMatrix4ToWorkbenchSparse.cxx
OperationConvertWarpfield.cxx
OperationException.cxx
OperationEstimateFiberBinghams.cxx
OperationFileConvert.cxx
OperationFileInformation.cxx
OperationFociCreate.cxx
OperationFociGetProjectionVertex.cxx
OperationFociListCoords.cxx
OperationGiftiConvert.cxx
OperationLabelExportTable.cxx
OperationLabelMask.cxx
OperationLabelMerge.cxx
OperationMetadataRemoveProvenance.cxx
OperationMetadataStringReplace.cxx
OperationMetricConvert.cxx
OperationMetricLabelImport.cxx
OperationMetricMask.cxx
OperationMetricMath.cxx
OperationMetricMerge.cxx
OperationMetricPalette.cxx
OperationMetricStats.cxx
OperationMetricVertexSum.cxx
OperationMetricWeightedStats.cxx
OperationNiftiInformation.cxx
OperationProbtrackXDotConvert.cxx
OperationSceneFileMerge.cxx
OperationSceneFileRelocate.cxx
OperationSceneFileUpdate.cxx
OperationSetMapName.cxx
OperationSetMapNames.cxx
OperationSetStructure.cxx
OperationShowScene.cxx
OperationShowSceneTwo.cxx
OperationSpecFileMerge.cxx
OperationSpecFileModify.cxx
OperationSpecFileRelocate.cxx
OperationSurfaceClosestVertex.cxx
OperationSurfaceCoordinatesToMetric.cxx
OperationSurfaceCutResample.cxx
OperationSurfaceFlipNormals.cxx
OperationSurfaceGeodesicDistance.cxx
OperationSurfaceGeodesicDistanceAllToAll.cxx
OperationSurfaceGeodesicDistanceSparseText.cxx
OperationSurfaceGeodesicROIs.cxx
OperationSurfaceInformation.cxx
OperationSurfaceNormals.cxx
OperationSurfaceSetCoordinates.cxx
OperationSurfaceSphereTriangularPatches.cxx
OperationSurfaceVertexAreas.cxx
OperationVolumeCapturePlane.cxx
OperationVolumeComponentsToFrames.cxx
OperationVolumeCopyExtensions.cxx
OperationVolumeCreate.cxx
OperationVolumeLabelExportTable.cxx
OperationVolumeLabelImport.cxx
OperationVolumeMath.cxx
OperationVolumeMerge.cxx
OperationVolumePalette.cxx
OperationVolumeReorient.cxx
OperationVolumeSetSpace.cxx
OperationVolumeStats.cxx
OperationVolumeWeightedStats.cxx
OperationWbsparseMergeDense.cxx
OperationZipSceneFile.cxx
OperationZipSpecFile.cxx
)

TARGET_LINK_LIBRARIES(Operations ${CARET_QT5_LINK})

#
# Find Headers
#
INCLUDE_DIRECTORIES(
${CMAKE_SOURCE_DIR}/Algorithms
${CMAKE_SOURCE_DIR}/Annotations
${CMAKE_SOURCE_DIR}/Operations
${CMAKE_SOURCE_DIR}/OperationsBase
${CMAKE_SOURCE_DIR}/Brain
${CMAKE_SOURCE_DIR}/Charting
${CMAKE_SOURCE_DIR}/CZIlib/CZICmd
${CMAKE_SOURCE_DIR}/CZIlib/CZI
${CMAKE_SOURCE_DIR}/Palette
${CMAKE_SOURCE_DIR}/FilesBase
${CMAKE_SOURCE_DIR}/Files
${CMAKE_SOURCE_DIR}/Gifti
${CMAKE_SOURCE_DIR}/Graphics
${CMAKE_SOURCE_DIR}/Cifti
${CMAKE_SOURCE_DIR}/Nifti
${QUAZIP_INCLUDE_DIRS}
${CMAKE_SOURCE_DIR}/Scenes
${CMAKE_SOURCE_DIR}/Xml
${CMAKE_SOURCE_DIR}/Common
)

#
# Mesa Library used by show scene command
#
IF (OSMESA_FOUND)
    ADD_DEFINITIONS(${OSMESA_DEFINITION})
    INCLUDE_DIRECTORIES(${OSMESA_INCLUDE_DIRECTORY})
ENDIF (OSMESA_FOUND)

