整理代码
This commit is contained in:
commit
c7b4e178ec
364 changed files with 59691 additions and 0 deletions
162
CMakeLists.txt
Normal file
162
CMakeLists.txt
Normal file
|
|
@ -0,0 +1,162 @@
|
|||
cmake_minimum_required(VERSION 3.16)
|
||||
set(PROJNAME encoder)
|
||||
include(config.cmake)
|
||||
include(FetchContent)
|
||||
|
||||
project(${PROJNAME})
|
||||
|
||||
set(ARCH arm)
|
||||
|
||||
if (USING_HISIMPP5)
|
||||
add_compile_definitions(
|
||||
-DUSING_HISIMPP5
|
||||
)
|
||||
endif()
|
||||
|
||||
add_compile_definitions(
|
||||
-DFIRMWARE_UPGRADE_FROM_BACKUP_PARTITION
|
||||
)
|
||||
|
||||
execute_process(
|
||||
COMMAND git log -1 --format=%h
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
|
||||
OUTPUT_VARIABLE GIT_COMMIT_HASH
|
||||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
|
||||
add_compile_definitions(-DGIT_COMMIT_HASH=\"${GIT_COMMIT_HASH}\")
|
||||
|
||||
# 未定义或为空
|
||||
if (NOT DEFINED CMAKE_BUILD_TYPE OR NOT CMAKE_BUILD_TYPE)
|
||||
set (CMAKE_BUILD_TYPE Debug)
|
||||
endif()
|
||||
|
||||
message("Project \"${GIT_COMMIT_HASH}\" build type: " ${CMAKE_BUILD_TYPE})
|
||||
|
||||
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
add_compile_definitions(-DDEBUG)
|
||||
endif()
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "Linux")
|
||||
set(Poco_DIR $ENV{POCO_PATH}/lib/cmake/Poco)
|
||||
link_libraries(
|
||||
pthread
|
||||
dl
|
||||
m
|
||||
atomic
|
||||
)
|
||||
if (CMAKE_BUILD_TYPE MATCHES Debug)
|
||||
# 定义Debug编译参数
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -Og -Wall -g3 -Wno-psabi -std=c++1z -mfpu=neon -mfloat-abi=softfp") # GDB调试
|
||||
# SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -Og -Wall -g3 -Wno-psabi -std=c++1z -mfpu=neon -mfloat-abi=softfp -fsanitize=address -fno-eliminate-unused-debug-types -fno-omit-frame-pointer") # 内存检测
|
||||
# SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -Wno-psabi")
|
||||
# SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -Wno-psabi -rdynamic -funwind-tables -ffunction-sections") # 可以在应用里捕获SIGSEGV信号,然后用backtrace()函数把堆栈信息打印出来
|
||||
else()
|
||||
# 定义Release编译参数
|
||||
SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall -Wno-psabi -mfpu=neon -mfloat-abi=softfp")
|
||||
endif()
|
||||
add_compile_definitions(-DOS_LINUX)
|
||||
elseif (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
set(Poco_DIR $ENV{POCO_PATH}/cmake)
|
||||
# 强制Visual Studio使用UTF-8编码
|
||||
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
|
||||
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")
|
||||
# 忽略部分警告
|
||||
add_compile_definitions(/wd"4828")
|
||||
# 使用Unicode字符集
|
||||
add_compile_definitions(-DUNICODE -D_UNICODE)
|
||||
if (USING_LVGL_PLATFORM OR USING_SOUI_PLATFORM)
|
||||
# 设置为窗口程序
|
||||
set(GUI_EXECUTABLE WIN32)
|
||||
add_compile_definitions(-DWINDOWS_GUI_APPLICATION)
|
||||
endif()
|
||||
link_directories($ENV{POCO_PATH}/lib)
|
||||
endif()
|
||||
|
||||
find_package(Poco REQUIRED COMPONENTS Foundation Net XML Encodings Util Zip Crypto)
|
||||
include_directories(
|
||||
.
|
||||
${Poco_LIBRARIES}
|
||||
$ENV{JSONC_PATH}/include
|
||||
$ENV{CRYPTOAUTHLIB_PATH}/include/cryptoauthlib
|
||||
$ENV{OPENSSL_PATH}/include
|
||||
$ENV{PAHO_MQTTC_PATH}/include
|
||||
)
|
||||
link_libraries(
|
||||
${Poco_LIBRARIES}
|
||||
$ENV{CRYPTOAUTHLIB_PATH}/lib/libcryptoauth.a
|
||||
$ENV{OPENSSL_PATH}/lib/libssl.a
|
||||
$ENV{OPENSSL_PATH}/lib/libcrypto.a
|
||||
#$ENV{PAHO_MQTTC_PATH}/lib/libpaho-mqtt3a.a
|
||||
#$ENV{PAHO_MQTTC_PATH}/lib/libpaho-mqtt3as.a
|
||||
$ENV{PAHO_MQTTC_PATH}/lib/libpaho-mqtt3c.a
|
||||
#$ENV{PAHO_MQTTC_PATH}/lib/libpaho-mqtt3cs.a
|
||||
)
|
||||
|
||||
if (USING_HISIMPP5)
|
||||
include_directories(
|
||||
$ENV{MPP_PATH}/include
|
||||
)
|
||||
|
||||
link_libraries(
|
||||
$ENV{MPP_PATH}/lib/libmpi.a
|
||||
$ENV{MPP_PATH}/lib/libdnvqe.a
|
||||
$ENV{MPP_PATH}/lib/libupvqe.a
|
||||
$ENV{MPP_PATH}/lib/libvqe_res.a
|
||||
$ENV{MPP_PATH}/lib/libVoiceEngine.a
|
||||
$ENV{MPP_PATH}/lib/libsecurec.so
|
||||
$ENV{MPP_PATH}/lib/libhdmi.a
|
||||
$ENV{MPP_PATH}/lib/libtde.a
|
||||
)
|
||||
endif()
|
||||
|
||||
|
||||
aux_source_directory(. MAIN_SOURCES)
|
||||
add_executable(${PROJNAME} ${GUI_EXECUTABLE} ${MAIN_SOURCES})
|
||||
|
||||
# target_compile_options(${PROJNAME} PRIVATE
|
||||
# -fsanitize=address,undefined
|
||||
# -fsanitize=float-divide-by-zero
|
||||
# -fsanitize=null
|
||||
# -fsanitize=bounds-strict
|
||||
# )
|
||||
|
||||
# target_link_options(${PROJNAME} PRIVATE
|
||||
# -fsanitize=address,undefined
|
||||
# )
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES "Windows")
|
||||
SET_PROPERTY (DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT ${PROJNAME} )
|
||||
endif()
|
||||
|
||||
if (USING_VIDEO_SUBSYSTEM)
|
||||
add_compile_definitions(-DUSING_VIDEO_SUBSYSTEM)
|
||||
endif()
|
||||
|
||||
# 网络
|
||||
if (USING_NETWORK_SUBSYSTEM)
|
||||
add_compile_definitions(-DUSING_NETWORK_SUBSYSTEM)
|
||||
endif()
|
||||
|
||||
# 板级设备
|
||||
if (USING_HARDWARE_SUBSYSTEM)
|
||||
add_compile_definitions(-DUSING_HARDWARE_SUBSYSTEM)
|
||||
endif()
|
||||
|
||||
if (USING_VIDEO_SUBSYSTEM)
|
||||
include(video/video.cmake)
|
||||
endif()
|
||||
|
||||
# 网络
|
||||
if (USING_NETWORK_SUBSYSTEM)
|
||||
include(network/network.cmake)
|
||||
endif()
|
||||
|
||||
# 板级设备
|
||||
if (USING_HARDWARE_SUBSYSTEM)
|
||||
include(hardware/hardware.cmake)
|
||||
endif()
|
||||
|
||||
# Util
|
||||
include(util/util.cmake)
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue