########################################################################################
#
# All or portions of this file Copyright (c) Amazon.com, Inc. or its affiliates, or
# a third party where indicated.
#
# For complete copyright and license terms please see the LICENSE at the root of this
# distribution (the "License"). All use of this software is governed by the License,
# or, if provided, by the license below or the license accompanying this file. Do not
# remove or modify any license notices. This file is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
#
########################################################################################

def build(bld):

    enableDetailProfiling = 'GRAPH_CANVAS_ENABLE_DETAILED_PROFILING=0'

    # Common GraphCanvas Widgets that are built as a static library for sharing.
    bld.CryEngineStaticLibrary(

        target              = 'GraphCanvasWidgets',

        platforms           = ['darwin', 'win', 'linux'],
        exclude_monolithic  = True,
        client_only         = True,
        file_list           = ['GraphCanvas_staticlib.waf_files'],

        includes            = ['StaticLib'],
        defines             = [enableDetailProfiling],
        use                 = ['AzCore',
                               'AzFramework',
                               'EditorUI_QT',
                               'EditorCommon',
                               'EditorCore',
                               'AzToolsFramework'],
        win_features        = ['crcfix'],
        features            = ['qt5'],
        vs_filter           = 'Gems',
        disable_pch         = True,
        
        uselib              = ['QT5CORE',
                               'QT5GUI',
                               'QT5WIDGETS'],

        export_includes     = ['.',
                               'StaticLib'] # the gem's includes

    )

    bld.DefineGem(
        file_list       = ['GraphCanvas_game.waf_files'],
        pch             = '',
        test_all_file_list = ['GraphCanvas_test.waf_files'],                

        ########################################
        # Editor Gem configuration
        editor = dict(
            file_list           = 'GraphCanvas.waf_files',
            pch                 = 'precompiled.cpp',
            win_features        = ['crcfix'],
            exclude_monolithic  = True,
            client_only         = True,
            defines         = [enableDetailProfiling],
            
            use                 = ['GraphCanvasWidgets'],

            includes            = ['.',
                                   '..',
                                   'Include',
                                   'Source'],

            uselib              = ['QT5CORE',
                                   'QT5GUI',
                                   'QT5WIDGETS'],
            test_all_file_list  = ['GraphCanvas_test.waf_files']
        )
        ########################################
    )