# ========================================================================== # Copyright (C) 2022 Intel Corporation # # SPDX-License-Identifier: MIT # ========================================================================== # Build system for core-iaa layer, that includes: # - accel-config loading mechanism (driver_loader/) # - logic for filling structures (AECS, descriptor) required for offloading operations to accelerator (aecs/, descriptors/) cmake_minimum_required(VERSION 3.12.0 FATAL_ERROR) project(core_iaa C) # Find Kernels Sources file(GLOB HW_PATH_SRC sources/aecs/*.c sources/descriptors/*.c sources/*.c) if (UNIX) if (DYNAMIC_LOADING_LIBACCEL_CONFIG) file(GLOB driver_loader_sources sources/driver_loader/*.c) list(APPEND HW_PATH_SRC ${driver_loader_sources}) endif() endif() # Create library add_library(core_iaa OBJECT ${HW_PATH_SRC}) qpl_set_common_target_settings(core_iaa) set_property(GLOBAL APPEND PROPERTY QPL_LIB_DEPS $) target_include_directories(core_iaa PUBLIC $ PUBLIC $ PRIVATE $ # for own_checkers.h PRIVATE $) set_target_properties(core_iaa PROPERTIES C_VISIBILITY_PRESET hidden) target_compile_options(core_iaa PRIVATE $<$:${QPL_LINUX_TOOLCHAIN_REQUIRED_FLAGS}; $<$:-O3;-U_FORTIFY_SOURCE;-D_FORTIFY_SOURCE=2>> PRIVATE $<$:${QPL_WINDOWS_TOOLCHAIN_REQUIRED_FLAGS}; $<$:-O2>>) target_compile_definitions(core_iaa PRIVATE QPL_BADARG_CHECK PRIVATE $<$:LOG_HW_INIT> PRIVATE $<$:DYNAMIC_LOADING_LIBACCEL_CONFIG>)