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++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})
|
||||
# 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)
|
||||
|
|
|
@ -37,3 +37,7 @@ set(COVERAGE_ON "true")
|
|||
set(CROSS_COMPILE_PREFIX "")
|
||||
set(CURL_OPENSSL_LIB_SHARED_ENABLE "false")
|
||||
# ------------ 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 "-*,\
|
||||
llvm-else-after-return,\
|
||||
llvm-header-guard,\
|
||||
llvm-include-order,\
|
||||
llvm-namespace-comment,\
|
||||
llvm-prefer-isa-or-dyn-cast-in-conditionals,\
|
||||
|
@ -39,5 +38,8 @@ misc-unused-alias-decls,\
|
|||
misc-unused-using-decls,\
|
||||
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 "${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})
|
||||
target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET} Log)
|
||||
|
||||
|
||||
if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
|
||||
add_custom_target(
|
||||
hal_code_check
|
||||
COMMAND ${CMAKE_SOURCE_DIR_IPCSDK}/tools/clang-tidy/clang-tidy
|
||||
|
@ -37,9 +39,9 @@ add_custom_target(
|
|||
${ABSTRACT_SRC_FILES}
|
||||
${CLANG_TIDY_CONFIG}
|
||||
-p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux
|
||||
# -- -I /usr/include/linux/ -X c++
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR_IPCSDK}/hal
|
||||
)
|
||||
|
||||
add_custom_command(
|
||||
TARGET ${IMPL_TARGET}
|
||||
TARGET ${ABSTRACT_TARGET}
|
||||
|
@ -47,3 +49,4 @@ add_custom_command(
|
|||
COMMAND make hal_code_check
|
||||
WORKING_DIRECTORY ${PROJECT_ROOT_PATH}/cmake-shell-linux/
|
||||
)
|
||||
endif()
|
|
@ -5,6 +5,9 @@ set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
|||
include_directories(
|
||||
./src
|
||||
./include
|
||||
# /usr/include/linux
|
||||
# /usr/include/c++/9/tr1
|
||||
# /usr/include/c++/9
|
||||
${UTILS_SOURCE_PATH}/ReturnCode/include
|
||||
)
|
||||
|
||||
|
@ -29,13 +32,14 @@ target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET} ReturnCode)
|
|||
|
||||
add_custom_target(
|
||||
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}'
|
||||
${IMPL_SRC_FILES}
|
||||
${ABSTRACT_FILES}
|
||||
${CLANG_TIDY_CONFIG}
|
||||
-header-filter=.*
|
||||
-system-headers=false
|
||||
--header-filter=.*
|
||||
--system-headers=false
|
||||
-p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell-linux
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR_IPCSDK}/utils/LogC
|
||||
)
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
#include "iLog.h"
|
||||
#include "ReturnCode.h"
|
||||
#include <stddef.h>
|
||||
#include <string.h>
|
||||
|
||||
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_log_fmt(ILog *log, const LogLeveL level, const char *fmt, ...)
|
||||
{}
|
||||
|
||||
{
|
||||
}
|
||||
|
||||
static ILog default_log = {
|
||||
.init = def_log_init,
|
||||
|
@ -41,7 +41,8 @@ void reset_log_impl(ILog *impl)
|
|||
|
||||
RETURN_CODE_C new_i_Log(ILog **impl)
|
||||
{
|
||||
if (!impl || !(*impl)) {
|
||||
if (!impl || !(*impl))
|
||||
{
|
||||
return CreateReturnCode(C_RETURN_CODE_NOT_OK);
|
||||
}
|
||||
memcpy(*impl, &default_log, sizeof(ILog));
|
||||
|
|
Loading…
Reference in New Issue
Block a user