Files
SDK_SG200x_V2/freertos/cvitek/driver/CMakeLists.txt
carbon 0545e9dc6d init version 2024-05-07
commit d1edce71135cc6d98c0a4b5729774542b676e769
Author: sophgo-forum-service <forum_service@sophgo.com>
Date:   Fri Mar 15 16:07:33 2024 +0800

    [fix] recommend using ssh method to clone repo.
    [fix] fix sensor driver repo branch name.
2024-05-07 19:36:36 +08:00

101 lines
2.6 KiB
CMake

cmake_minimum_required(VERSION 3.16.5)
project(driver C)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS ON)
set(KERNEL_SOURCE ${TOP_DIR}/../Source)
set(CMAKE_INSTALL_PREFIX ${TOP_DIR}/install)
set(CMAKE_INSTALL_INC_PREFIX ${TOP_DIR}/install/include)
set(CMAKE_DRIVER_DIR ${TOP_DIR}/driver)
set(SAFETY_FLAGS "-Wall -Wextra -fno-strict-aliasing")
#set(SAFETY_FLAGS "-Werror -Wall -Wextra -fno-strict-aliasing")
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${SAFETY_FLAGS}")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SAFETY_FLAGS}")
set(DRIVER_UART_DIR ${CMAKE_DRIVER_DIR}/uart)
set(DRIVER_GPIO_DIR ${CMAKE_DRIVER_DIR}/gpio)
set(DRIVER_I2C_DIR ${CMAKE_DRIVER_DIR}/i2c)
set(DRIVER_RGN_DIR ${CMAKE_DRIVER_DIR}/rgn)
include(${TOP_DIR}/scripts/ParseConfiguration.cmake)
ParseConfiguration("${BUILD_ENV_PATH}/.config")
if(CONFIG_BOARD STREQUAL "cv181x_fpga" OR CONFIG_BOARD STREQUAL "cv181x_fpga_c906")
add_compile_definitions(FPGA_PORTING)
endif()
add_compile_definitions(F18)
if (CONFIG_CHIP_ARCH_cv181x STREQUAL "y")
add_compile_definitions(__CV181X__)
endif()
if (CONFIG_CHIP_ARCH_cv180x STREQUAL "y")
add_compile_definitions(__CV180X__)
endif()
if (CONFIG_FAST_IMAGE_TYPE STRGREATER "0")
add_compile_definitions(FAST_IMAGE_ENABLE)
endif()
if (CONFIG_CHIP_ARCH_cv181x STREQUAL "y" OR CONFIG_CHIP_ARCH_cv180x STREQUAL "y")
add_compile_definitions(ARCH_RTOS_CV181X)
endif()
if (CONFIG_BOARD_wevb_0007a_spinor STREQUAL "y" OR
CONFIG_BOARD_wevb_0007a_emmc STREQUAL "y" OR
CONFIG_BOARD_wevb_0007a_spinand STREQUAL "y")
add_compile_definitions(BOARD_WEVB_007A)
message("use BOARD_WEVB_007A")
elseif (CONFIG_BOARD_wevb_0006a_spinor STREQUAL "y" OR
CONFIG_BOARD_wevb_0006a_emmc STREQUAL "y" OR
CONFIG_BOARD_wevb_0006a_spinand STREQUAL "y")
add_compile_definitions(BOARD_WEVB_006A)
message("use BOARD_WEVB_006A")
else()
message("find no board")
endif()
# add driver folder here
if (RUN_ARCH STREQUAL "riscv64")
set(DRIVER_UART_DIR ${CMAKE_DRIVER_DIR}/uart)
set(DRIVER_SPINLOCK_DIR ${CMAKE_DRIVER_DIR}/spinlock)
set(DRIVER_FAST_IMAGE_DIR ${CMAKE_DRIVER_DIR}/fast_image)
set(DRIVER_RTOS_CMDQU_DIR ${CMAKE_DRIVER_DIR}/rtos_cmdqu)
set(driver_list
common
pinmux
uart
spinlock
gpio
rgn
rtos_cmdqu
fast_image
)
else()
set(DRIVER_BASE_DIR ${CMAKE_DRIVER_DIR}/base)
set(DRIVER_SYS_DIR ${CMAKE_DRIVER_DIR}/sys)
set(driver_list
common
base
i2c
uart
pinmux
sys
)
endif()
add_library(driver STATIC dummy.c)
foreach(build_drv ${driver_list})
add_subdirectory(${build_drv})
endforeach()
target_link_libraries(driver ${driver_list})
install(TARGETS driver DESTINATION lib)