# Config enable component2 or not in Kconfig ################# Add include ################# list(APPEND ADD_INCLUDE "include" "include/base" ) if(PLATFORM_LINUX) list(APPEND ADD_PRIVATE_INCLUDE "port/linux") elseif(PLATFORM_MAIXCAM) list(APPEND ADD_PRIVATE_INCLUDE "port/maixcam") endif() list(APPEND ADD_PRIVATE_INCLUDE "include_private") ############################################### ############## Add source files ############### # list(APPEND ADD_SRCS "src/lib2.c" # ) # FILE(GLOB_RECURSE EXTRA_SRC "src/*.c") # FILE(GLOB EXTRA_SRC "src/*.c") # list(APPEND ADD_SRCS ${EXTRA_SRC}) # aux_source_directory(src ADD_SRCS) # collect all source file in src dir, will set var ADD_SRCS append_srcs_dir(ADD_SRCS "src") # append source file in src dir to var ADD_SRCS if(PLATFORM_LINUX) append_srcs_dir(ADD_SRCS "port/linux") elseif(PLATFORM_MAIXCAM) append_srcs_dir(ADD_SRCS "port/maixcam") endif() # list(REMOVE_ITEM COMPONENT_SRCS "src/test.c") # set(ADD_ASM_SRCS "src/asm.S") # list(APPEND ADD_SRCS ${ADD_ASM_SRCS}) # SET_PROPERTY(SOURCE ${ADD_ASM_SRCS} PROPERTY LANGUAGE C) # set .S ASM file as C language # SET_SOURCE_FILES_PROPERTIES(${ADD_ASM_SRCS} PROPERTIES COMPILE_FLAGS "-x assembler-with-cpp -D BBBBB") ############################################### ###### Add required/dependent components ###### list(APPEND ADD_REQUIREMENTS basic opencv opencv_freetype websocket peripheral) list(APPEND ADD_REQUIREMENTS omv) list(APPEND ADD_REQUIREMENTS kvm_mmf) ############################################### ###### Add link search path for requirements/libs ###### # list(APPEND ADD_LINK_SEARCH_PATH "${CONFIG_TOOLCHAIN_PATH}/lib") # list(APPEND ADD_REQUIREMENTS pthread m) # add system libs, pthread and math lib for example here # set (OpenCV_DIR opencv/lib/cmake/opencv4) # find_package(OpenCV REQUIRED) ############################################### ############ Add static libs ################## # list(APPEND ADD_STATIC_LIB "lib/libtest.a") ############################################### ############ Add dynamic libs ################## # list(APPEND ADD_DYNAMIC_LIB "lib/arch/v831/libmaix_nn.so" # "lib/arch/v831/libmaix_cam.so" # ) ############################################### #### Add compile option for this component #### #### Just for this component, won't affect other #### modules, including component that depend #### on this component # list(APPEND ADD_DEFINITIONS_PRIVATE -DAAAAA=1) #### Add compile option for this component #### and components denpend on this component # list(APPEND ADD_DEFINITIONS -DAAAAA222=1 # -DAAAAA333=1) ############################################### ############ Add static libs ################## #### Update parent's variables like CMAKE_C_LINK_FLAGS # set(CMAKE_C_LINK_FLAGS "${CMAKE_C_LINK_FLAGS} -Wl,--start-group libmaix/libtest.a -ltest2 -Wl,--end-group" PARENT_SCOPE) ############################################### # register component, DYNAMIC or SHARED flags will make component compiled to dynamic(shared) lib register_component()