|
|
# cmake 最低版本要求 第三行名字不能动
|
|
|
cmake_minimum_required(VERSION 2.8)
|
|
|
project(JZ_UART_APP)
|
|
|
|
|
|
set(CMAKE_C_FLAGS "-pthread -std=gnu99 -lm -ldl -lstdc++")
|
|
|
#"-pthread":指定在编译时链接POSIX线程库,以支持多线程程序。
|
|
|
#"-std=gnu99":指定C语言标准为GNU C99(也就是C99加上GNU的扩展特性),该标准对于一些特性和库的使用是必须的。
|
|
|
#"-lm":指定在编译时链接数学库,以使用一些数学函数。
|
|
|
#"-ldl":指定在编译时链接动态库加载库,以使用动态加载。
|
|
|
#"-lstdc++":指定在编译时链接C++标准库,以使用C++的一些特性和函数。
|
|
|
|
|
|
set(CMAKE_EXE_LINKER_FLAGS "-pthread")
|
|
|
|
|
|
#预留行
|
|
|
set(DEVICE_TYPE MEGAPHONE)
|
|
|
#预留行
|
|
|
#预留行
|
|
|
#预留行
|
|
|
#预留行
|
|
|
#预留行
|
|
|
#预留行
|
|
|
|
|
|
set(ROOT_DIRS "${CMAKE_CURRENT_LIST_DIR}/../../")
|
|
|
|
|
|
# 包含模块配置
|
|
|
include(${ROOT_DIRS}CmakeConfig/Compiler.cmake)
|
|
|
include(${ROOT_DIRS}CmakeConfig/ModuleConfig.cmake)
|
|
|
include(${ROOT_DIRS}CmakeConfig/SubsidiaryThirdPartyConfig.cmake)
|
|
|
|
|
|
# 指定源文件
|
|
|
file(GLOB_RECURSE JZSDK_COMMON_SRC ${ROOT_DIRS}JZsdk_Common/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${JZSDK_COMMON_SRC})
|
|
|
|
|
|
file(GLOB_RECURSE JZSDK_CONFIG_SRC ${ROOT_DIRS}JZsdk_Config/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${JZSDK_CONFIG_SRC})
|
|
|
|
|
|
file(GLOB_RECURSE JZSDK_HAL_SRC ${ROOT_DIRS}JZsdk_hal/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${JZSDK_HAL_SRC})
|
|
|
|
|
|
file(GLOB_RECURSE JZSDK_OSAL_SRC ${ROOT_DIRS}JZsdk_osal/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${JZSDK_OSAL_SRC})
|
|
|
|
|
|
if(${AUDIODEAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE AUDIODEAL_SRC ${ROOT_DIRS}Module/AudioDeal/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${AUDIODEAL_SRC})
|
|
|
message("音频处理模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${DEVICE_INFO_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE DEVICE_MESSAGE_SRC ${ROOT_DIRS}Module/DeviceInfo/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${DEVICE_MESSAGE_SRC})
|
|
|
message("设备信息模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${GIMBAL_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE GIMBAL_SRC ${ROOT_DIRS}Module/Gimbal/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${GIMBAL_SRC})
|
|
|
message("云台模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${IRCUT_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE MODULE_IRCUT_SRC ${ROOT_DIRS}Module/Ircut/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${MODULE_IRCUT_SRC})
|
|
|
message("引脚模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${LIGHTING_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE LIGHTING_SRC ${ROOT_DIRS}Module/Lighting/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${LIGHTING_SRC})
|
|
|
message("光源模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${MEDIA_PROC_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE MEDIA_PROC_SRC ${ROOT_DIRS}Module/MediaProc/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${MEDIA_PROC_SRC})
|
|
|
message("媒体管理模块已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${MEGAPHONE_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE MEGAPHONE_SRC ${ROOT_DIRS}Module/Megaphone/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${MEGAPHONE_SRC})
|
|
|
message("喊话器模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${POWER_MANAGER_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE POWERMANAGER_SRC ${ROOT_DIRS}Module/PowerManager/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${POWERMANAGER_SRC})
|
|
|
message("电源模块已加载")
|
|
|
endif()
|
|
|
|
|
|
if(${UI_CONTROL_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE MODULE_UICONTROL_SRC ${ROOT_DIRS}Module/UI_control/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${MODULE_UICONTROL_SRC})
|
|
|
message("UI模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
|
|
|
if(${SIDE_LASER_MODULE} STREQUAL "VERSION_SWITCH_ON")
|
|
|
file(GLOB_RECURSE MODULE_SIDE_LASER_SRC ${ROOT_DIRS}Module/SideLaser/*.c)
|
|
|
list(APPEND ALL_SRC_FILES ${MODULE_SIDE_LASER_SRC})
|
|
|
message("侧边激光模块源码已加载")
|
|
|
endif()
|
|
|
|
|
|
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_SRC ${ROOT_DIRS}Module/ImageProcessing/*.c)
|
|
|
file(GLOB_RECURSE MODULE_IMAGEPROCESSING_cpp_SRC ${ROOT_DIRS}Module/ImageProcessing/*.cpp)
|
|
|
|
|
|
# 头文件路径
|
|
|
include_directories(./application)
|
|
|
include_directories(${ROOT_DIRS}JZsdk_Common)
|
|
|
include_directories(${ROOT_DIRS}JZsdk_Config)
|
|
|
include_directories(${ROOT_DIRS}JZsdk_hal)
|
|
|
include_directories(${ROOT_DIRS}JZsdk_osal)
|
|
|
|
|
|
include_directories(${ROOT_DIRS}Module)
|
|
|
|
|
|
include_directories(${ROOT_DIRS}Module/Megaphone)
|
|
|
include_directories(${ROOT_DIRS}Module/Ircut)
|
|
|
include_directories(${ROOT_DIRS}Module/Ircut/H3_ircut/wiringPi)
|
|
|
include_directories(${ROOT_DIRS}Module/Gimbal)
|
|
|
include_directories(${ROOT_DIRS}Module/Lighting)
|
|
|
include_directories(${ROOT_DIRS}Module/UI_control)
|
|
|
include_directories(${ROOT_DIRS}Module/Camera)
|
|
|
include_directories(${ROOT_DIRS}Module/PowerManager)
|
|
|
include_directories(${ROOT_DIRS}Module/TestAPP)
|
|
|
include_directories(${ROOT_DIRS}Module/ImageProcessing)
|
|
|
include_directories(${ROOT_DIRS}Module/SerialManagement)
|
|
|
|
|
|
# 生成可执行文件
|
|
|
add_executable(
|
|
|
JZ_UART_APP
|
|
|
./application/main.c
|
|
|
${ALL_SRC_FILES}
|
|
|
${MODULE_IMAGEPROCESSING_SRC}
|
|
|
${MODULE_IMAGEPROCESSING_cpp_SRC}
|
|
|
)
|
|
|
|
|
|
|
|
|
include(${ROOT_DIRS}CmakeConfig/ModuleLoading.cmake) |
...
|
...
|
|