mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
Improve:cmake.
This commit is contained in:
parent
6482585855
commit
5f3aa045b3
|
@ -17,7 +17,7 @@ include(CheckCXXCompilerFlag)
|
|||
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")
|
||||
|
||||
# 获取所有修改过的文件
|
||||
execute_process(
|
||||
|
@ -26,8 +26,13 @@ execute_process(
|
|||
OUTPUT_STRIP_TRAILING_WHITESPACE
|
||||
)
|
||||
set(ALL_MODEFIED_FILES "")
|
||||
string(LENGTH "${MODIFIED_FILES}" GIT_RESULT_STRING_LENGTH)
|
||||
if(GIT_RESULT_STRING_LENGTH EQUAL 0)
|
||||
message("Nothing changed.")
|
||||
else()
|
||||
string(REPLACE "\n" ";" MODIFIED_FILES_LIST ${MODIFIED_FILES})
|
||||
endif()
|
||||
# 遍历每个文件
|
||||
string(REPLACE "\n" ";" MODIFIED_FILES_LIST ${MODIFIED_FILES})
|
||||
foreach(FILE ${MODIFIED_FILES_LIST})
|
||||
# 检查文件扩展名,只格式化.cpp和.h文件
|
||||
get_filename_component(FILE_EXT ${FILE} EXT)
|
||||
|
@ -35,7 +40,7 @@ foreach(FILE ${MODIFIED_FILES_LIST})
|
|||
set(ALL_MODEFIED_FILES "${ALL_MODEFIED_FILES};${FILE}")
|
||||
endif()
|
||||
endforeach()
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
|
||||
string(LENGTH "${ALL_MODEFIED_FILES}" MODIFIED_STRING_LENGTH)
|
||||
# find the clang-tidy tools
|
||||
unset(CLANG_TIDY_EXE CACHE)
|
||||
unset(CLANG_TIDY_FIND CACHE)
|
||||
|
@ -47,6 +52,7 @@ if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
|
|||
set(CLANG_TIDY_EXE ${CLANG_TIDY_FIND} CACHE STRING INTERNAL)
|
||||
message("CLANG_TIDY_EXE = ${CLANG_TIDY_EXE}")
|
||||
|
||||
if(MODIFIED_STRING_LENGTH GREATER 0)
|
||||
add_custom_target(
|
||||
check_modified_code
|
||||
COMMAND ${CLANG_TIDY_EXE}
|
||||
|
@ -57,6 +63,7 @@ if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
|
|||
-p ${PLATFORM_PATH}/cmake-shell
|
||||
WORKING_DIRECTORY ${PLATFORM_PATH}
|
||||
)
|
||||
endif()
|
||||
|
||||
else()
|
||||
# message(FATAL_ERROR "See ${CMAKE_SOURCE_DIR_IPCSDK}/doc.")
|
||||
|
@ -79,6 +86,7 @@ if ("${CLANG_FORMAT_SUPPORT}" MATCHES "true")
|
|||
set(CLANG_FORMAT_EXE ${CLANG_FORMAT_FIND} CACHE STRING INTERNAL)
|
||||
message("CLANG_FORMAT_EXE = ${CLANG_FORMAT_EXE}")
|
||||
|
||||
if(MODIFIED_STRING_LENGTH GREATER 0)
|
||||
add_custom_target(
|
||||
format_modified_code
|
||||
COMMAND ${CLANG_FORMAT_EXE}
|
||||
|
@ -86,6 +94,7 @@ if ("${CLANG_FORMAT_SUPPORT}" MATCHES "true")
|
|||
-i ${ALL_MODEFIED_FILES}
|
||||
WORKING_DIRECTORY ${PLATFORM_PATH}
|
||||
)
|
||||
endif()
|
||||
|
||||
else()
|
||||
message(FATAL_ERROR "You set support clang-format, but clang-format not found.
|
||||
|
@ -98,10 +107,12 @@ See:${IPC_SDK_PATH}/builde/global_config.cmake")
|
|||
endif()
|
||||
endif()
|
||||
|
||||
if(MODIFIED_STRING_LENGTH GREATER 0)
|
||||
add_custom_target(
|
||||
improve_modified_code
|
||||
DEPENDS format_modified_code check_modified_code
|
||||
)
|
||||
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/)
|
||||
|
|
Loading…
Reference in New Issue
Block a user