# Copyright 2022 Autodesk, Inc.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
import os
from utils import system, dependencies

Import('env')
local_env = env.Clone()

src_dir = os.path.join(env['ROOT_DIR'], 'scene_delegate')
source_files = [
    'adapter_registry.cpp',
    'delegate_proxy.cpp',
    'delegate.cpp',
    'persp_camera_adapter.cpp',
    'polymesh_adapter.cpp',
    'prim_adapter.cpp',
    'rprim_adapter.cpp',
]

if not system.IS_WINDOWS:
    local_env.Append(CXXFLAGS = Split('-fPIC'))

local_env.Append(CPPDEFINES=['IMAGINGARNOLD_EXPORTS'])
local_env.Append(CPPPATH = [os.path.join(env['BUILD_ROOT_DIR'], 'scene_delegate')])
common_lib_path = os.path.abspath(os.path.join(local_env['BUILD_BASE_DIR'], 'libs', 'common'))
local_env.Append(LIBPATH = [common_lib_path])
local_env.Append(LIBS = ['ai', 'common'])

source_files, usd_deps = dependencies.scene_delegate(local_env, source_files)
local_env.Append(LIBS = usd_deps)

SCENEDELEGATE = local_env.SharedLibrary('imagingArnold', source_files)

Return('SCENEDELEGATE')
