# SPDX-License-Identifier: BSD-3-Clause
# Copyright (c) Contributors to the OpenEXR Project.

openexr_define_library(OpenEXR
  PRIV_EXPORT OPENEXR_EXPORTS
  CURDIR ${CMAKE_CURRENT_SOURCE_DIR}
  SOURCES
    ImfAcesFile.cpp
    ImfAttribute.cpp
    ImfAutoArray.h
    ImfB44Compressor.cpp
    ImfB44Compressor.h
    ImfBoxAttribute.cpp
    ImfBytesAttribute.cpp
    ImfCRgbaFile.cpp
    ImfChannelList.cpp
    ImfChannelListAttribute.cpp
    ImfCheckedArithmetic.h
    ImfChromaticities.cpp
    ImfChromaticitiesAttribute.cpp
    ImfCompositeDeepScanLine.cpp
    ImfCompression.cpp
    ImfCompression.h
    ImfCompressionAttribute.cpp
    ImfCompressor.cpp
    ImfCompressor.h
    ImfContext.cpp
    ImfContextInit.cpp
    ImfConvert.cpp
    ImfDeepCompositing.cpp
    ImfDeepFrameBuffer.cpp
    ImfDeepImageStateAttribute.cpp
    ImfDeepScanLineInputFile.cpp
    ImfDeepScanLineInputPart.cpp
    ImfDeepScanLineOutputFile.cpp
    ImfDeepScanLineOutputPart.cpp
    ImfDeepTiledInputFile.cpp
    ImfDeepTiledInputPart.cpp
    ImfDeepTiledOutputFile.cpp
    ImfDeepTiledOutputPart.cpp
    ImfDoubleAttribute.cpp
    ImfDwaCompressor.cpp
    ImfDwaCompressor.h
    ImfEnvmap.cpp
    ImfEnvmapAttribute.cpp
    ImfFastHuf.cpp
    ImfFastHuf.h
    ImfFloatAttribute.cpp
    ImfFloatVectorAttribute.cpp
    ImfFrameBuffer.cpp
    ImfFramesPerSecond.cpp
    ImfGenericInputFile.cpp
    ImfGenericOutputFile.cpp
    ImfHeader.cpp
    ImfHTCompressor.cpp
    ImfHuf.cpp
    ImfIDManifest.cpp
    ImfIDManifestAttribute.cpp
    ImfIO.cpp
    ImfInputFile.cpp
    ImfInputPart.cpp
    ImfInputPartData.cpp
    ImfInputPartData.h
    ImfInputStreamMutex.h
    ImfIntAttribute.cpp
    ImfKeyCode.cpp
    ImfKeyCodeAttribute.cpp
    ImfLineOrderAttribute.cpp
    ImfLut.cpp
    ImfMatrixAttribute.cpp
    ImfMisc.cpp
    ImfMisc.h
    ImfMultiPartInputFile.cpp
    ImfMultiPartOutputFile.cpp
    ImfMultiView.cpp
    ImfOpaqueAttribute.cpp
    ImfOptimizedPixelReading.h
    ImfOutputFile.cpp
    ImfOutputPart.cpp
    ImfOutputPartData.cpp
    ImfOutputPartData.h
    ImfOutputStreamMutex.h
    ImfPartType.cpp
    ImfPizCompressor.cpp
    ImfPizCompressor.h
    ImfPreviewImage.cpp
    ImfPreviewImageAttribute.cpp
    ImfPxr24Compressor.cpp
    ImfPxr24Compressor.h
    ImfRational.cpp
    ImfRationalAttribute.cpp
    ImfRgbaFile.cpp
    ImfRgbaYca.cpp
    ImfRle.cpp
    ImfRle.h
    ImfRleCompressor.cpp
    ImfRleCompressor.h
    ImfScanLineInputFile.cpp
    ImfScanLineInputFile.h
    ImfSimd.h
    ImfStandardAttributes.cpp
    ImfStdIO.cpp
    ImfStringAttribute.cpp
    ImfStringVectorAttribute.cpp
    ImfSystemSpecific.cpp
    ImfSystemSpecific.h
    ImfTestFile.cpp
    ImfThreading.cpp
    ImfTileDescriptionAttribute.cpp
    ImfTileOffsets.cpp
    ImfTileOffsets.h
    ImfTiledInputFile.cpp
    ImfTiledInputPart.cpp
    ImfTiledMisc.cpp
    ImfTiledMisc.h
    ImfTiledOutputFile.cpp
    ImfTiledOutputPart.cpp
    ImfTiledRgbaFile.cpp
    ImfTimeCode.cpp
    ImfTimeCodeAttribute.cpp
    ImfVecAttribute.cpp
    ImfVersion.cpp
    ImfWav.cpp
    ImfZip.cpp
    ImfZip.h
    ImfZipCompressor.cpp
    ImfZipCompressor.h
  HEADERS
    ImfAcesFile.h
    ImfArray.h
    ImfAttribute.h
    ImfBoxAttribute.h
    ImfBytesAttribute.h
    ImfCRgbaFile.h
    ImfChannelList.h
    ImfChannelListAttribute.h
    ImfChromaticities.h
    ImfChromaticitiesAttribute.h
    ImfCompositeDeepScanLine.h
    ImfCompression.h
    ImfCompressionAttribute.h
    ImfCompressor.h
    ImfContext.h
    ImfContextInit.h
    ImfConvert.h
    ImfDeepCompositing.h
    ImfDeepFrameBuffer.h
    ImfDeepImageState.h
    ImfDeepImageStateAttribute.h
    ImfDeepScanLineInputFile.h
    ImfDeepScanLineInputPart.h
    ImfDeepScanLineOutputFile.h
    ImfDeepScanLineOutputPart.h
    ImfDeepTiledInputFile.h
    ImfDeepTiledInputPart.h
    ImfDeepTiledOutputFile.h
    ImfDeepTiledOutputPart.h
    ImfDoubleAttribute.h
    ImfEnvmap.h
    ImfEnvmapAttribute.h
    ImfExport.h
    ImfFloatAttribute.h
    ImfFloatVectorAttribute.h
    ImfForward.h
    ImfFrameBuffer.h
    ImfFramesPerSecond.h
    ImfGenericInputFile.h
    ImfGenericOutputFile.h
    ImfHeader.h
    ImfHTCompressor.h
    ImfHuf.h
    ImfIDManifest.h
    ImfIDManifestAttribute.h
    ImfIO.h
    ImfInputFile.h
    ImfInputPart.h
    ImfInt64.h
    ImfIntAttribute.h
    ImfKeyCode.h
    ImfKeyCodeAttribute.h
    ImfLineOrder.h
    ImfLineOrderAttribute.h
    ImfLut.h
    ImfMatrixAttribute.h
    ImfMisc.h
    ImfMultiPartInputFile.h
    ImfMultiPartOutputFile.h
    ImfMultiView.h
    ImfName.h
    ImfNamespace.h
    ImfOpaqueAttribute.h
    ImfOutputFile.h
    ImfOutputPart.h
    ImfPartHelper.h
    ImfPartType.h
    ImfPixelType.h
    ImfPreviewImage.h
    ImfPreviewImageAttribute.h
    ImfRational.h
    ImfRationalAttribute.h
    ImfRgba.h
    ImfRgbaFile.h
    ImfRgbaYca.h
    ImfStandardAttributes.h
    ImfStdIO.h
    ImfStringAttribute.h
    ImfStringVectorAttribute.h
    ImfTestFile.h
    ImfThreading.h
    ImfTileDescription.h
    ImfTileDescriptionAttribute.h
    ImfTiledInputFile.h
    ImfTiledInputPart.h
    ImfTiledOutputFile.h
    ImfTiledOutputPart.h
    ImfTiledRgbaFile.h
    ImfTimeCode.h
    ImfTimeCodeAttribute.h
    ImfVecAttribute.h
    ImfVersion.h
    ImfWav.h
    ImfXdr.h
  DEPENDENCIES
    Imath::Imath
    OpenEXR::Config
    OpenEXR::Iex
    OpenEXR::IlmThread
    OpenEXR::OpenEXRCore
  )
