Merge branch 'master-develop' of https://gitee.com/shenzhen-jiuyilian/ipc into develop
This commit is contained in:
commit
a4ed1ba3a0
|
@ -18,6 +18,22 @@ CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
|
||||||
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
|
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
|
||||||
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
|
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
|
||||||
|
|
||||||
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
|
||||||
|
# find the clang-tidy tools
|
||||||
|
unset(CLANG_TIDY_EXE CACHE)
|
||||||
|
unset(CLANG_TIDY_FIND CACHE)
|
||||||
|
if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
|
||||||
|
find_program(CLANG_TIDY_FIND NAMES clang-tidy PATHS ${LLVM_PATH}/build/bin)
|
||||||
|
if(CLANG_TIDY_FIND)
|
||||||
|
message(STATUS "clang-tidy found: ${CLANG_TIDY_FIND}")
|
||||||
|
# set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=no.h -system-headers=no.h -checks=modernize-use-override")
|
||||||
|
set(CLANG_TIDY_EXE ${CLANG_TIDY_FIND} CACHE STRING INTERNAL)
|
||||||
|
message("CLANG_TIDY_EXE = ${CLANG_TIDY_EXE}")
|
||||||
|
else()
|
||||||
|
message(FATAL_ERROR "You set support clang-tidy, bug clang-tidy not found.")
|
||||||
|
endif()
|
||||||
|
endif()
|
||||||
|
|
||||||
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
||||||
# execute_process(COMMAND sh build_lvgl_for_cmakelist.sh ${TARGET_PLATFORM} ${CMAKE_SOURCE_DIR_IPCSDK} WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/lvglLinux-x86/)
|
# execute_process(COMMAND sh build_lvgl_for_cmakelist.sh ${TARGET_PLATFORM} ${CMAKE_SOURCE_DIR_IPCSDK} WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/lvglLinux-x86/)
|
||||||
# add_subdirectory(external/lvglLinux-x86)
|
# add_subdirectory(external/lvglLinux-x86)
|
||||||
|
|
|
@ -28,12 +28,16 @@ add_definitions(-Wstrict-aliasing -Wwrite-strings)
|
||||||
set(TOOLCHAIN_NAME arm-linux-gnueabihf)
|
set(TOOLCHAIN_NAME arm-linux-gnueabihf)
|
||||||
|
|
||||||
|
|
||||||
set(TARGET_PLATFORM "linux")
|
set(TARGET_PLATFORM "linux")
|
||||||
set(SUBMODULE_PATH_OF_IPCSDK "")
|
set(SUBMODULE_PATH_OF_IPCSDK "")
|
||||||
set(PLATFORM_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
|
set(PLATFORM_PATH "${CMAKE_CURRENT_SOURCE_DIR}")
|
||||||
set(COVERAGE_ON "true")
|
set(COVERAGE_ON "true")
|
||||||
|
|
||||||
# ------------ build curl + openssl ------------ start
|
# ------------ build curl + openssl ------------ start
|
||||||
set(CROSS_COMPILE_PREFIX "")
|
set(CROSS_COMPILE_PREFIX "")
|
||||||
set(CURL_OPENSSL_LIB_SHARED_ENABLE "false")
|
set(CURL_OPENSSL_LIB_SHARED_ENABLE "false")
|
||||||
# ------------ build curl + openssl ------------ end
|
# ------------ build curl + openssl ------------ end
|
||||||
|
# ------------ build clang-tidy ------------ start
|
||||||
|
set(CLANG_TIDY_SUPPORT "true")
|
||||||
|
set(LLVM_PATH "/home/xiaojiazhu/project/tmp/llvm-project")
|
||||||
|
# ------------ build clang-tidy ------------ end
|
|
@ -14,7 +14,6 @@ set(EXTERNAL_SOURCE_PATH "${CMAKE_SOURCE_DIR_IPCSDK}/external")
|
||||||
|
|
||||||
set(CLANG_TIDY_CHECKS "-*,\
|
set(CLANG_TIDY_CHECKS "-*,\
|
||||||
llvm-else-after-return,\
|
llvm-else-after-return,\
|
||||||
llvm-header-guard,\
|
|
||||||
llvm-include-order,\
|
llvm-include-order,\
|
||||||
llvm-namespace-comment,\
|
llvm-namespace-comment,\
|
||||||
llvm-prefer-isa-or-dyn-cast-in-conditionals,\
|
llvm-prefer-isa-or-dyn-cast-in-conditionals,\
|
||||||
|
@ -39,5 +38,8 @@ misc-unused-alias-decls,\
|
||||||
misc-unused-using-decls,\
|
misc-unused-using-decls,\
|
||||||
readability-identifier-naming")
|
readability-identifier-naming")
|
||||||
|
|
||||||
|
# set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},llvm-header-guard")
|
||||||
|
set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},-clang-diagnostic-error")
|
||||||
|
|
||||||
set(CLANG_TIDY_CONFIG "-header-filter=\'.*\'")
|
set(CLANG_TIDY_CONFIG "-header-filter=\'.*\'")
|
||||||
set(CLANG_TIDY_CONFIG "${CLANG_TIDY_CONFIG} -p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux")
|
set(CLANG_TIDY_CONFIG "${CLANG_TIDY_CONFIG} -p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux")
|
32
doc/clang-tidy_user_guide.md
Normal file
32
doc/clang-tidy_user_guide.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
# 1. clang-tidy使用指南
|
||||||
|
|
||||||
|
   使用clang-tidy工具进行代码规范管理。
|
||||||
|
1. 编译时实时报错;
|
||||||
|
2. 指定自研源码检测;
|
||||||
|
|
||||||
|
## 1.1. 环境搭建
|
||||||
|
|
||||||
|
1. llvm使用cmake编译,cmake版本要求 3.20以上,此处使用cmake-3.27.4
|
||||||
|
```
|
||||||
|
// cmake源码目录://tools/cmake-3.27.4.tar.gz
|
||||||
|
// cmake源码安装:
|
||||||
|
tar zxvf cmake-3.27.4.tar.gz
|
||||||
|
cd cmake-3.27.4/
|
||||||
|
sudo apt-get install openssl // 如果执行./bootstrap提示缺少ssl相关资源,执行此安装命令
|
||||||
|
./bootstrap
|
||||||
|
make
|
||||||
|
sudo make install
|
||||||
|
```
|
||||||
|
2. 安装llvm
|
||||||
|
```
|
||||||
|
// 下载源码
|
||||||
|
git clone https://github.com/llvm/llvm-project.git
|
||||||
|
cd llvm-project/
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake -G "Unix Makefiles" -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD="X86" -DLLVM_ENABLE_PROJECTS="clang;clang-tools-extra" ../llvm
|
||||||
|
make -j8
|
||||||
|
find ./ -name clang-tidy // 确认编译完成
|
||||||
|
```
|
||||||
|
|
||||||
|
## 1.2. clang-tidy使用
|
|
@ -28,6 +28,8 @@ target_link_libraries(${ABSTRACT_TARGET} StatusCode Log)
|
||||||
add_library(${IMPL_TARGET} STATIC ${IMPL_SRC_FILES})
|
add_library(${IMPL_TARGET} STATIC ${IMPL_SRC_FILES})
|
||||||
target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET} Log)
|
target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET} Log)
|
||||||
|
|
||||||
|
|
||||||
|
if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
hal_code_check
|
hal_code_check
|
||||||
COMMAND ${CMAKE_SOURCE_DIR_IPCSDK}/tools/clang-tidy/clang-tidy
|
COMMAND ${CMAKE_SOURCE_DIR_IPCSDK}/tools/clang-tidy/clang-tidy
|
||||||
|
@ -37,9 +39,9 @@ add_custom_target(
|
||||||
${ABSTRACT_SRC_FILES}
|
${ABSTRACT_SRC_FILES}
|
||||||
${CLANG_TIDY_CONFIG}
|
${CLANG_TIDY_CONFIG}
|
||||||
-p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux
|
-p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux
|
||||||
|
# -- -I /usr/include/linux/ -X c++
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR_IPCSDK}/hal
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR_IPCSDK}/hal
|
||||||
)
|
)
|
||||||
|
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET ${IMPL_TARGET}
|
TARGET ${IMPL_TARGET}
|
||||||
TARGET ${ABSTRACT_TARGET}
|
TARGET ${ABSTRACT_TARGET}
|
||||||
|
@ -47,3 +49,4 @@ add_custom_command(
|
||||||
COMMAND make hal_code_check
|
COMMAND make hal_code_check
|
||||||
WORKING_DIRECTORY ${PROJECT_ROOT_PATH}/cmake-shell-linux/
|
WORKING_DIRECTORY ${PROJECT_ROOT_PATH}/cmake-shell-linux/
|
||||||
)
|
)
|
||||||
|
endif()
|
|
@ -5,6 +5,9 @@ set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
||||||
include_directories(
|
include_directories(
|
||||||
./src
|
./src
|
||||||
./include
|
./include
|
||||||
|
# /usr/include/linux
|
||||||
|
# /usr/include/c++/9/tr1
|
||||||
|
# /usr/include/c++/9
|
||||||
${UTILS_SOURCE_PATH}/ReturnCode/include
|
${UTILS_SOURCE_PATH}/ReturnCode/include
|
||||||
)
|
)
|
||||||
|
|
||||||
|
@ -29,13 +32,14 @@ target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET} ReturnCode)
|
||||||
|
|
||||||
add_custom_target(
|
add_custom_target(
|
||||||
log_code_check
|
log_code_check
|
||||||
COMMAND ${CMAKE_SOURCE_DIR_IPCSDK}/tools/clang-tidy/clang-tidy
|
# COMMAND ${CMAKE_SOURCE_DIR_IPCSDK}/tools/clang-tidy/clang-tidy
|
||||||
|
COMMAND ${CLANG_TIDY_EXE}
|
||||||
-checks='${CLANG_TIDY_CHECKS}'
|
-checks='${CLANG_TIDY_CHECKS}'
|
||||||
${IMPL_SRC_FILES}
|
${IMPL_SRC_FILES}
|
||||||
${ABSTRACT_FILES}
|
${ABSTRACT_FILES}
|
||||||
${CLANG_TIDY_CONFIG}
|
${CLANG_TIDY_CONFIG}
|
||||||
-header-filter=.*
|
--header-filter=.*
|
||||||
-system-headers=false
|
--system-headers=false
|
||||||
-p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux
|
-p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux
|
||||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR_IPCSDK}/utils/LogC
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR_IPCSDK}/utils/LogC
|
||||||
)
|
)
|
||||||
|
|
|
@ -1,6 +1,5 @@
|
||||||
#include "iLog.h"
|
#include "iLog.h"
|
||||||
#include "ReturnCode.h"
|
#include "ReturnCode.h"
|
||||||
#include <stddef.h>
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
static RETURN_CODE_C def_log_init(ILog *impl)
|
static RETURN_CODE_C def_log_init(ILog *impl)
|
||||||
|
@ -14,11 +13,12 @@ static RETURN_CODE_C def_log_unInit(ILog *impl)
|
||||||
}
|
}
|
||||||
|
|
||||||
static void def_free(ILog *impl)
|
static void def_free(ILog *impl)
|
||||||
{}
|
{
|
||||||
|
}
|
||||||
|
|
||||||
static void def_log_fmt(ILog *log, const LogLeveL level, const char *fmt, ...)
|
static void def_log_fmt(ILog *log, const LogLeveL level, const char *fmt, ...)
|
||||||
{}
|
{
|
||||||
|
}
|
||||||
|
|
||||||
static ILog default_log = {
|
static ILog default_log = {
|
||||||
.init = def_log_init,
|
.init = def_log_init,
|
||||||
|
@ -41,7 +41,8 @@ void reset_log_impl(ILog *impl)
|
||||||
|
|
||||||
RETURN_CODE_C new_i_Log(ILog **impl)
|
RETURN_CODE_C new_i_Log(ILog **impl)
|
||||||
{
|
{
|
||||||
if (!impl || !(*impl)) {
|
if (!impl || !(*impl))
|
||||||
|
{
|
||||||
return CreateReturnCode(C_RETURN_CODE_NOT_OK);
|
return CreateReturnCode(C_RETURN_CODE_NOT_OK);
|
||||||
}
|
}
|
||||||
memcpy(*impl, &default_log, sizeof(ILog));
|
memcpy(*impl, &default_log, sizeof(ILog));
|
||||||
|
|
Loading…
Reference in New Issue
Block a user