Improve:cmake.

This commit is contained in:
xiaojiazhu 2024-03-12 14:45:26 -07:00
parent 6482585855
commit 5f3aa045b3

View File

@ -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/)