def core(moduleName, env): # Collect the default headers defaultHeaders = moduleToAdditionalHeadersFunctions.defaultAdditionalHeaderFunctions( moduleName, env) # Add opencl ones defaultPath = moduleToAdditionalHeadersFunctions.getDefaultIncludePath( moduleName) openclFolderHeaders = (opencvBuilderUtils.getFilesInFolder( env, '{defaultPath}/opencl'.format(defaultPath=defaultPath), opencvBuilderUtils.headerExtensions)) env.Install( '{includeDir}/opencv2/{module}/opencl'.format( module=moduleName, includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), openclFolderHeaders) openclRuntimeHeaders = (opencvBuilderUtils.getFilesInFolder( env, '{defaultPath}/opencl/runtime'.format(defaultPath=defaultPath), opencvBuilderUtils.headerExtensions)) env.Install( '{includeDir}/opencv2/{module}/opencl/runtime'.format( module=moduleName, includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), openclRuntimeHeaders) return defaultHeaders
def features2d(env, sources, modulePath): additionalIncludes = list() additionalLibs = list() sources.extend( opencvBuilderUtils.getFilesInFolder( env, '{module}/src/akaze'.format(module=modulePath), '*.c')) sources.extend( opencvBuilderUtils.getFilesInFolder( env, '{module}/src/kaze'.format(module=modulePath), '*.c')) return sources, additionalIncludes, additionalLibs
def core(moduleName, env): # Collect the default headers defaultHeaders = moduleToAdditionalHeadersFunctions.defaultAdditionalHeaderFunctions(moduleName, env) # Add opencl ones defaultPath = moduleToAdditionalHeadersFunctions.getDefaultIncludePath(moduleName) openclFolderHeaders = (opencvBuilderUtils.getFilesInFolder(env, '{defaultPath}/opencl'.format(defaultPath = defaultPath), opencvBuilderUtils.headerExtensions)) env.Install('{includeDir}/opencv2/{module}/opencl'.format(module = moduleName, includeDir = env['OPENCVBUILDER_INCLUDE_DIR']), openclFolderHeaders) openclRuntimeHeaders = (opencvBuilderUtils.getFilesInFolder(env, '{defaultPath}/opencl/runtime'.format(defaultPath = defaultPath), opencvBuilderUtils.headerExtensions)) env.Install('{includeDir}/opencv2/{module}/opencl/runtime'.format(module = moduleName, includeDir = env['OPENCVBUILDER_INCLUDE_DIR']), openclRuntimeHeaders) return defaultHeaders
def thirdparty_opencv_generator(source, target, env, for_signature): ''' Generator for 3rdparty openCV stuff ''' # Do a library specific preliminary step if necessary module = os.path.basename(env['opencv_3rdparty'].rstr()) # Inherit as much as possible from the parent build environment but do not inherit its defines: this will cause the library to be rebuilt in unnecessary cases. env_opencv = env.Clone() env_opencv['CPPDEFINES'] = [] try: env_opencv['CPPDEFINES'].extend(thirdpartyConfig.getDefines[module]()) except KeyError: pass try: env_opencv['CPPFLAGS'].extend( thirdpartyConfig.getCompileFlags[module]()) except KeyError: pass # Install header file env.Install( '{includeDir}/opencv2'.format( includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), source) try: thirdpartyConfig.thirdpartyToGeneratorFunctions[module]( env_opencv, env['opencv_3rdparty']) except KeyError: pass # Build module sources = list() sources.extend( opencvBuilderUtils.getFilesInFolder( env, '{module}'.format(module=env['opencv_3rdparty']), ['*.c', '*.cpp'])) # Filter module-specific files try: sources, additionalIncludes, additionalLibs = thirdpartyConfig.modulesToFilter[ str(module)](env, sources, env['opencv_module']) env_opencv['CPPPATH'].extend(additionalIncludes) except KeyError: pass lib = env_opencv.Library('{lib}'.format(lib=target[0]), sources) installed_lib = env_opencv.Install( "{libs_dir}".format(libs_dir=env['OPENCVBUILDER_LIBS_DIR']), lib) env_opencv.Alias("buildAllLibs", installed_lib) return installed_lib
def build_opencv_generator(source, target, env, for_signature): ''' Generator for openCV builder ''' module = os.path.basename(env['opencv_module'].rstr()) # Install the required header files env.Install('{includeDir}/opencv2'.format(includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), source[0]) env.Install('{includeDir}/opencv2/{module}'.format(module = module, includeDir = env['OPENCVBUILDER_INCLUDE_DIR']), source[1]) try: additionalHeaders = opencv_config.moduleToAdditionalHeaders[str(module)](module, env) except KeyError: # This means we can call the default handler additionalHeaders = opencv_config.moduleToAdditionalHeaders['default'](module, env) env.Install('{includeDir}/opencv2/{module}'.format(module = module, includeDir = env['OPENCVBUILDER_INCLUDE_DIR']), additionalHeaders) # Configure build environment for opencv env_opencv = env.Clone() # Empty defines to avoid unnecessary rebuilding of the library env_opencv['CPPDEFINES'] = [] defines,options = opencv_config.getDefinesAndCompileOptions() env_opencv['CPPDEFINES'].extend(defines) env_opencv['CXXFLAGS'].extend(options) env_opencv['CPPPATH'].append('{module}/src'.format(module = env['opencv_module'])) if module == 'core': # TODO: generate these properly env.Install('{includeDir}'.format(includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), 'version_string.inc') env.Install('{includeDir}/opencv2'.format(includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), 'opencv_modules.hpp') # Build module sources = list() sources.extend(opencvBuilderUtils.getFilesInFolder(env,'{module}/src'.format(module = env['opencv_module']), ['*.c', '*.cpp', '*.mm'])) sources.append('{module}/src/opencl_kernels.cpp'.format(module = env['opencv_module'])) try: sources,additionalIncludes,additionalLibs = opencv_config.modulesToFilter[str(module)](env, sources, env['opencv_module']) env_opencv['CPPPATH'].extend(additionalIncludes) except KeyError: pass env_opencv['CPPPATH'].extend(env['OPENCVBUILDER_INCLUDE_PATHS']) lib = env_opencv.Library('{lib}'.format(lib = target[0]), sources) installed_lib = env_opencv.Install("{libs_dir}".format(libs_dir=env['OPENCVBUILDER_LIBS_DIR']), lib) env_opencv.Alias("buildAllLibs", installed_lib) env_opencv.Alias("buildAllLibs{module}".format(module=module), installed_lib) return installed_lib
def thirdparty_opencv_generator(source, target, env, for_signature): ''' Generator for 3rdparty openCV stuff ''' # Do a library specific preliminary step if necessary module = os.path.basename(env['opencv_3rdparty'].rstr()) # Inherit as much as possible from the parent build environment but do not inherit its defines: this will cause the library to be rebuilt in unnecessary cases. env_opencv = env.Clone() env_opencv['CPPDEFINES'] = [] try: env_opencv['CPPDEFINES'].extend(thirdpartyConfig.getDefines[module]()) except KeyError: pass try: env_opencv['CPPFLAGS'].extend(thirdpartyConfig.getCompileFlags[module]()) except KeyError: pass # Install header file env.Install('{includeDir}/opencv2'.format(includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), source) try: thirdpartyConfig.thirdpartyToGeneratorFunctions[module](env_opencv, env['opencv_3rdparty']) except KeyError: pass # Build module sources = list() sources.extend(opencvBuilderUtils.getFilesInFolder(env,'{module}'.format(module = env['opencv_3rdparty']), ['*.c', '*.cpp'])) # Filter module-specific files try: sources,additionalIncludes,additionalLibs = thirdpartyConfig.modulesToFilter[str(module)](env, sources, env['opencv_module']) env_opencv['CPPPATH'].extend(additionalIncludes) except KeyError: pass lib = env_opencv.Library('{lib}'.format(lib = target[0]), sources) installed_lib = env_opencv.Install("{libs_dir}".format(libs_dir=env['OPENCVBUILDER_LIBS_DIR']), lib) env_opencv.Alias("buildAllLibs", installed_lib) return installed_lib
def build_opencv_generator(source, target, env, for_signature): ''' Generator for openCV builder ''' module = os.path.basename(env['opencv_module'].rstr()) # Install the required header files env.Install( '{includeDir}/opencv2'.format( includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), source[0]) env.Install( '{includeDir}/opencv2/{module}'.format( module=module, includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), source[1]) try: additionalHeaders = opencv_config.moduleToAdditionalHeaders[str( module)](module, env) except KeyError: # This means we can call the default handler additionalHeaders = opencv_config.moduleToAdditionalHeaders['default']( module, env) env.Install( '{includeDir}/opencv2/{module}'.format( module=module, includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), additionalHeaders) # Configure build environment for opencv env_opencv = env.Clone() # Empty defines to avoid unnecessary rebuilding of the library env_opencv['CPPDEFINES'] = [] defines, options = opencv_config.getDefinesAndCompileOptions() env_opencv['CPPDEFINES'].extend(defines) env_opencv['CXXFLAGS'].extend(options) env_opencv['CPPPATH'].append( '{module}/src'.format(module=env['opencv_module'])) if module == 'core': # TODO: generate these properly env.Install( '{includeDir}'.format(includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), 'version_string.inc') env.Install( '{includeDir}/opencv2'.format( includeDir=env['OPENCVBUILDER_INCLUDE_DIR']), 'opencv_modules.hpp') # Build module sources = list() sources.extend( opencvBuilderUtils.getFilesInFolder( env, '{module}/src'.format(module=env['opencv_module']), ['*.c', '*.cpp', '*.mm'])) sources.append( '{module}/src/opencl_kernels.cpp'.format(module=env['opencv_module'])) try: sources, additionalIncludes, additionalLibs = opencv_config.modulesToFilter[ str(module)](env, sources, env['opencv_module']) env_opencv['CPPPATH'].extend(additionalIncludes) except KeyError: pass env_opencv['CPPPATH'].extend(env['OPENCVBUILDER_INCLUDE_PATHS']) lib = env_opencv.Library('{lib}'.format(lib=target[0]), sources) installed_lib = env_opencv.Install( "{libs_dir}".format(libs_dir=env['OPENCVBUILDER_LIBS_DIR']), lib) env_opencv.Alias("buildAllLibs", installed_lib) env_opencv.Alias("buildAllLibs{module}".format(module=module), installed_lib) return installed_lib
def defaultAdditionalHeaderFunctions(moduleName, env): defaultPath = moduleToAdditionalHeadersFunctions.getDefaultIncludePath(moduleName) return opencvBuilderUtils.getFilesInFolder(env,defaultPath,opencvBuilderUtils.headerExtensions)
def features2d(env, sources, modulePath): additionalIncludes = list() additionalLibs = list() sources.extend(opencvBuilderUtils.getFilesInFolder(env,'{module}/src/akaze'.format(module = modulePath), '*.c')) sources.extend(opencvBuilderUtils.getFilesInFolder(env,'{module}/src/kaze'.format(module = modulePath), '*.c')) return sources,additionalIncludes,additionalLibs
def defaultAdditionalHeaderFunctions(moduleName, env): defaultPath = moduleToAdditionalHeadersFunctions.getDefaultIncludePath( moduleName) return opencvBuilderUtils.getFilesInFolder( env, defaultPath, opencvBuilderUtils.headerExtensions)