# project_root/src/SConscript
import os
# Import the environment from the SConstruct file
Import('env')
with open(env['PROJECT_TOOL_S']) as f:
    exec(f.read())


SRCS = Glob('src/*.c*')
INCLUDE = [ADir('include'), ADir('.')]
PRIVATE_INCLUDE = []
REQUIREMENTS = ['pthread', 'ncnn', 'dl']
STATIC_LIB = []
DYNAMIC_LIB = []
DEFINITIONS = []
DEFINITIONS_PRIVATE = []
LDFLAGS = []
LINK_SEARCH_PATH = []
gcc_dumpmachine = env['GCC_DUMPMACHINE'].split('-')

if 'x86_64' in gcc_dumpmachine and 'linux' in gcc_dumpmachine:
    INCLUDE.append('/usr/local/include/opencv4')
    REQUIREMENTS += ['opencv_core', 'opencv_highgui', 'opencv_imgproc', 'opencv_photo', 'opencv_video', 'opencv_imgcodecs', 'opencv_videoio', 'gomp']
else:
    libgomp = CC_cmd_execute('-print-file-name=libgomp.so.1').rstrip()
    DYNAMIC_LIB.append(libgomp)
    REQUIREMENTS += ['static_package']


DEFINITIONS += ['-Wl,-rpath=./']

env['COMPONENTS'].append({'target':'ncnn_yolox',
                          'SRCS':SRCS,
                          'INCLUDE':INCLUDE,
                          'PRIVATE_INCLUDE':PRIVATE_INCLUDE,
                          'REQUIREMENTS':REQUIREMENTS,
                          'STATIC_LIB':STATIC_LIB,
                          'DYNAMIC_LIB':DYNAMIC_LIB,
                          'DEFINITIONS':DEFINITIONS,
                          'DEFINITIONS_PRIVATE':DEFINITIONS_PRIVATE,
                          'LDFLAGS':LDFLAGS,
                          'LINK_SEARCH_PATH':LINK_SEARCH_PATH,
                          'REGISTER':'project'
                          })