#---------------------------------------------------------------------------- # SPDX-FileCopyrightText: Copyright 2024 Arm Limited and/or its affiliates # SPDX-License-Identifier: Apache-2.0 # # 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. #---------------------------------------------------------------------------- ########################################################## # Arm Virtual Streaming Interface initialization library # ########################################################## # Arm Virtual Streaming Interface is only available on # certain supported platforms. cmake_minimum_required(VERSION 3.21.0) set(ARM_VSI_COMPONENT arm_vsi) project(${ARM_VSI_COMPONENT} DESCRIPTION "Arm Virtual Streaming Interface initialization library" LANGUAGES C CXX ASM) ## Logging utilities: if (NOT TARGET log) if (NOT DEFINED LOG_PROJECT_DIR) message(FATAL_ERROR "LOG_PROJECT_DIR needs to be defined.") endif() add_subdirectory(${LOG_PROJECT_DIR} ${CMAKE_BINARY_DIR}/log) endif() # Create static library add_library(${ARM_VSI_COMPONENT} STATIC) ## Include directories - public target_include_directories(${ARM_VSI_COMPONENT} PUBLIC include) ## Component sources target_sources(${ARM_VSI_COMPONENT} PUBLIC source/video_drv.c) ## If the rte_components target has been defined, include it as a dependency here. This component ## gives access to certain CPU related functions and definitions that should come from the CMSIS ## or custom system setup and boot implementation files. ## If the component is not defined as a target, a dependency for this target should be added by ## the project importing this one. if (TARGET rte_components) target_link_libraries(${ARM_VSI_COMPONENT} PUBLIC rte_components) else() message(WARNING "rte_components target not defined." "${ARM_VSI_COMPONENT} will need to be provided access to" "RTE_Components.h header to include CPU specific definitions.") endif() ## Compile definitions target_compile_definitions(${ARM_VSI_COMPONENT} PUBLIC VSI_ENABLED) ## Add dependencies target_link_libraries(${ARM_VSI_COMPONENT} PUBLIC log) # Display status message(STATUS "CMAKE_CURRENT_SOURCE_DIR: " ${CMAKE_CURRENT_SOURCE_DIR}) message(STATUS "*******************************************************") message(STATUS "Library : " ${ARM_VSI_COMPONENT}) message(STATUS "*******************************************************")