# Boost.GIL.IO
#
# (C) Copyright 2012: Mateusz Loskot and Christian Henning
# (C) Copyright 2017: Stefan Seefeld
# Distributed under the Boost Software License, Version 1.0.
# (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

# Please make sure to read readme.txt!

# bring in rules for testing
import testing ;
import ac ;

using libjpeg : : : : true ; # work around bug on master
using zlib ;
using libpng : : : : true ;
using libtiff : : : : true ;

lib raw : : <name>raw ;

project
    : requirements
    <include>$(BOOST_ROOT)
    <library>/boost/test//boost_unit_test_framework
    <library>/boost/system//boost_system
    <library>/boost/filesystem//boost_filesystem
    ;

test-suite simple
  : [ run all_formats_test.cpp
      : # args
      : # input files
      : # requirements
    <define>BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES
    <define>BOOST_GIL_IO_TEST_ALLOW_WRITING_IMAGES
        [ ac.check-library /libjpeg//libjpeg : <library>/libjpeg//libjpeg : <build>no ]
        [ ac.check-library /zlib//zlib : <library>/zlib//zlib : <build>no ]
        [ ac.check-library /libpng//libpng : <library>/libpng//libpng : <build>no ]
        [ ac.check-library /libtiff//libtiff : <library>/libtiff//libtiff : <build>no ]
    ]
;

test-suite full :
    [ run bmp_test.cpp bmp_old_test.cpp bmp_read_test.cpp bmp_write_test.cpp ]
    [ run jpeg_test.cpp jpeg_old_test.cpp jpeg_read_test.cpp jpeg_write_test.cpp
      :
      :
          : [ ac.check-library /libjpeg//libjpeg : <library>/libjpeg//libjpeg : <build>no ] ]
        #make.cpp
    [ run png_test.cpp png_old_test.cpp png_file_format_test.cpp png_read_test.cpp
      :
      :
      :
          [ ac.check-library /zlib//zlib : <library>/zlib//zlib : <build>no ]
          [ ac.check-library /libpng//libpng : <library>/libpng//libpng : <build>no ]
    ]
    [ run pnm_test.cpp pnm_old_test.cpp pnm_read_test.cpp pnm_write_test.cpp ]
    [ run raw_test.cpp
      : # args
      : # input files
      : # requirements
        <define>BOOST_GIL_IO_TEST_ALLOW_READING_IMAGES
	<library>raw
    ]
    [ run targa_test.cpp targa_old_test.cpp targa_read_test.cpp targa_write_test.cpp ]
    [ run
          tiff_test.cpp
          tiff_old_test.cpp
      tiff_file_format_test.cpp
          tiff_subimage_test.cpp
          tiff_tiled_float_test.cpp
          tiff_tiled_minisblack_test_1-10.cpp
          tiff_tiled_minisblack_test_11-20.cpp
          tiff_tiled_minisblack_test_21-31_32-64.cpp
          tiff_tiled_minisblack_write_test_1-10.cpp
          tiff_tiled_minisblack_write_test_11-20.cpp
          tiff_tiled_minisblack_write_test_21-31_32-64.cpp
          tiff_tiled_palette_test_1-8.cpp
          tiff_tiled_palette_test_8-16.cpp
          tiff_tiled_palette_write_test_1-8.cpp
          tiff_tiled_palette_write_test_8-16.cpp
          tiff_tiled_rgb_contig_test_1-10.cpp
          tiff_tiled_rgb_contig_test_11-20.cpp
          tiff_tiled_rgb_contig_test_21-31_32_64.cpp
          tiff_tiled_rgb_contig_write_test_1-10.cpp
          tiff_tiled_rgb_contig_write_test_11-20.cpp
          tiff_tiled_rgb_contig_write_test_21-31_32_64.cpp
          tiff_tiled_rgb_planar_test_1-10.cpp
          tiff_tiled_rgb_planar_test_11-20.cpp
          tiff_tiled_rgb_planar_test_21-31_32_64.cpp
          tiff_tiled_test.cpp
          tiff_write_test.cpp
      :
      :
          : [ ac.check-library /libtiff//libtiff : <library>/libtiff//libtiff : <build>no ]
    ]
    ;
