{
    'targets': [
        {
            'target_name': 'canvas_sdl2',
            'sources': [
                'src/init.cpp'
            ],
            'cflags!': ['-fno-exceptions'],
            'cflags_cc!': ['-fno-exceptions'],
            'cflags_cc': ['-std=c++17'],
            'xcode_settings': {
                'GCC_ENABLE_CPP_EXCEPTIONS': 'YES',
                'CLANG_CXX_LIBRARY': 'libc++',
                'MACOSX_DEPLOYMENT_TARGET': '10.7',
                'OTHER_FLAGS': ['-std=c++17', '-stdlib=libc++']
            },
            'msvs_settings': {
                'VCCLCompilerTool': {'ExceptionHandling': 1, 'AdditionalOptions': ['/std:c++17']},
            },
            'dependencies': [
                "<!(node -p \"require('node-addon-api').gyp\")"
            ],
            'include_dirs': [
                "<(module_root_dir)/include/sdl/",
                "<(module_root_dir)/include/sdlimg/",
                "<(module_root_dir)/include/sdlmixer/",
                "<!@(node -p \"require('node-addon-api').include\")",
            ],
            'conditions': [
                ["OS==\"win\"", {
                    'libraries': [
                        "<(module_root_dir)/bin/sdl/winx64/SDL2.lib",
                        "<(module_root_dir)/bin/sdlimg/winx64/SDL2_image.lib",
                        '<(module_root_dir)/bin/sdlttf/winx64/SDL2_ttf.lib',
                        '<(module_root_dir)/bin/sdlmixer/winx64/SDL2_mixer.lib',
                    ],
                    'copies': [
                        {
                            'destination': '<(module_root_dir)/build/Release/',
                            'files': [
                                '<(module_root_dir)/bin/sdl/winx64/SDL2.dll',
                                '<(module_root_dir)/bin/sdlimg/winx64/SDL2_image.dll',
                                '<(module_root_dir)/bin/sdlttf/winx64/SDL2_ttf.dll',
                                '<(module_root_dir)/bin/sdlmixer/winx64/SDL2_mixer.dll',
                                '<(module_root_dir)/bin/sdlmixer/winx64/libgme.dll',
                                '<(module_root_dir)/bin/sdlmixer/winx64/libogg-0.dll',
                                '<(module_root_dir)/bin/sdlmixer/winx64/libopus-0.dll',
                                '<(module_root_dir)/bin/sdlmixer/winx64/libopusfile-0.dll',
                                '<(module_root_dir)/bin/sdlmixer/winx64/libwavpack-1.dll',
                                '<(module_root_dir)/bin/sdlmixer/winx64/libxmp.dll',

                                '<(module_root_dir)/bin/sdlimg/winx64/libavif-16.dll',
                                '<(module_root_dir)/bin/sdlimg/winx64/libtiff-5.dll',
                                '<(module_root_dir)/bin/sdlimg/winx64/libwebp-7.dll',
                                '<(module_root_dir)/bin/sdlimg/winx64/libwebpdemux-2.dll',

                            ]
                        }
                    ]
                }],
                ["OS==\"linux\"", {
                    "libraries": [
                        "<!@(pkg-config --libs sdl2 SDL2_image SDL2_ttf SDL2_mixer)"
                    ]
                }]
            ]
        }
    ]
}
