mirror of
https://github.com/RGBCube/serenity
synced 2025-06-01 09:58:14 +00:00

This will allow us to generate code that handle and provide easy access to metadata stored in TIFF's tags. The generator is a Python script, and it output both TIFFMetadata.h and TIFFTagHandler.cpp files. The generator will definitely need some update to support all TIFF and EXIF tags, but that will still be easier than writing everything ourselves. Some small modifications are needed in TIFFLoader.cpp to make it compatible with the new `Metadata` class.
99 lines
2.9 KiB
CMake
99 lines
2.9 KiB
CMake
set(SOURCES
|
|
AffineTransform.cpp
|
|
AntiAliasingPainter.cpp
|
|
Bitmap.cpp
|
|
BitmapMixer.cpp
|
|
ClassicStylePainter.cpp
|
|
ClassicWindowTheme.cpp
|
|
Color.cpp
|
|
CursorParams.cpp
|
|
DeltaE.cpp
|
|
EdgeFlagPathRasterizer.cpp
|
|
Filters/ColorBlindnessFilter.cpp
|
|
Filters/FastBoxBlurFilter.cpp
|
|
Filters/LumaFilter.cpp
|
|
Filters/StackBlurFilter.cpp
|
|
Font/BitmapFont.cpp
|
|
Font/Emoji.cpp
|
|
Font/Font.cpp
|
|
Font/FontDatabase.cpp
|
|
Font/OpenType/Cmap.cpp
|
|
Font/OpenType/Font.cpp
|
|
Font/OpenType/Glyf.cpp
|
|
Font/OpenType/Hinting/Opcodes.cpp
|
|
Font/OpenType/Tables.cpp
|
|
Font/ScaledFont.cpp
|
|
Font/Typeface.cpp
|
|
Font/WOFF/Font.cpp
|
|
Font/WOFF2/Font.cpp
|
|
GradientPainting.cpp
|
|
ICC/BinaryWriter.cpp
|
|
ICC/Profile.cpp
|
|
ICC/Tags.cpp
|
|
ICC/TagTypes.cpp
|
|
ICC/WellKnownProfiles.cpp
|
|
ImageFormats/BMPLoader.cpp
|
|
ImageFormats/BMPWriter.cpp
|
|
ImageFormats/BooleanDecoder.cpp
|
|
ImageFormats/TIFFLoader.cpp
|
|
ImageFormats/DDSLoader.cpp
|
|
ImageFormats/GIFLoader.cpp
|
|
ImageFormats/ICOLoader.cpp
|
|
ImageFormats/ILBMLoader.cpp
|
|
ImageFormats/ImageDecoder.cpp
|
|
ImageFormats/ISOBMFF/Boxes.cpp
|
|
ImageFormats/ISOBMFF/Reader.cpp
|
|
ImageFormats/JPEGLoader.cpp
|
|
ImageFormats/JPEGXLLoader.cpp
|
|
ImageFormats/JPEGWriter.cpp
|
|
ImageFormats/PBMLoader.cpp
|
|
ImageFormats/PGMLoader.cpp
|
|
ImageFormats/PNGLoader.cpp
|
|
ImageFormats/PNGWriter.cpp
|
|
ImageFormats/PortableFormatWriter.cpp
|
|
ImageFormats/PPMLoader.cpp
|
|
ImageFormats/QOILoader.cpp
|
|
ImageFormats/QOIWriter.cpp
|
|
ImageFormats/TGALoader.cpp
|
|
ImageFormats/TinyVGLoader.cpp
|
|
ImageFormats/WebPLoader.cpp
|
|
ImageFormats/WebPLoaderLossless.cpp
|
|
ImageFormats/WebPLoaderLossy.cpp
|
|
ImmutableBitmap.cpp
|
|
Painter.cpp
|
|
Palette.cpp
|
|
Path.cpp
|
|
Point.cpp
|
|
Rect.cpp
|
|
ShareableBitmap.cpp
|
|
Size.cpp
|
|
StylePainter.cpp
|
|
SystemTheme.cpp
|
|
TextDirection.cpp
|
|
TextLayout.cpp
|
|
Triangle.cpp
|
|
VectorGraphic.cpp
|
|
WindowTheme.cpp
|
|
)
|
|
|
|
serenity_lib(LibGfx gfx)
|
|
target_link_libraries(LibGfx PRIVATE LibCompress LibCore LibCrypto LibFileSystem LibTextCodec LibIPC LibUnicode)
|
|
|
|
set(generated_sources TIFFMetadata.h TIFFTagHandler.cpp)
|
|
list(TRANSFORM generated_sources PREPEND "ImageFormats/")
|
|
|
|
find_package(Python COMPONENTS Interpreter REQUIRED)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${generated_sources}
|
|
COMMAND ${Python_EXECUTABLE} "${CMAKE_CURRENT_SOURCE_DIR}/TIFFGenerator.py" -o "${CMAKE_CURRENT_BINARY_DIR}/ImageFormats"
|
|
DEPENDS "TIFFGenerator.py"
|
|
VERBATIM
|
|
)
|
|
target_sources(LibGfx PRIVATE ${generated_sources})
|
|
add_custom_target(generate_tiff_files_handler DEPENDS ${generated_sources})
|
|
add_dependencies(all_generated generate_tiff_files_handler)
|
|
add_dependencies(LibGfx generate_tiff_files_handler)
|
|
|
|
list(TRANSFORM generated_sources PREPEND "${CMAKE_CURRENT_BINARY_DIR}/")
|
|
install(FILES ${generated_sources} DESTINATION "${CMAKE_INSTALL_INCLUDEDIR}/LibGfx/ImageFormats")
|