mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
66 lines
1.9 KiB
CMake
66 lines
1.9 KiB
CMake
|
|
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
|
|
include(${CMAKE_CURRENT_SOURCE_DIR}/build/hal.cmake)
|
|
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
|
|
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
|
|
|
|
include_directories(
|
|
./abstract
|
|
./src
|
|
./include
|
|
${UTILS_SOURCE_PATH}/StatusCode/include
|
|
${UTILS_SOURCE_PATH}/Log/include
|
|
${UTILS_SOURCE_PATH}/LinuxApi/include
|
|
${UTILS_SOURCE_PATH}/KeyControl/include
|
|
${UTILS_SOURCE_PATH}/LedControl/include
|
|
)
|
|
#do not rely on any other library
|
|
# link_directories(
|
|
# ${EXTERNAL_SOURCE_PATH}/curl/curl-8.1.2/build/lib
|
|
# )
|
|
|
|
aux_source_directory(./abstract ABSTRACT_SRC_FILES)
|
|
aux_source_directory(./src IMPL_SRC_FILES)
|
|
|
|
set(ABSTRACT_TARGET HalAbstract)
|
|
set(IMPL_TARGET Hal)
|
|
add_library(${ABSTRACT_TARGET} STATIC ${ABSTRACT_SRC_FILES})
|
|
target_link_libraries(${ABSTRACT_TARGET} LinuxApi KeyControl LedControl StatusCode Log)
|
|
add_library(${IMPL_TARGET} STATIC ${IMPL_SRC_FILES})
|
|
target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET})
|
|
|
|
add_custom_target(
|
|
Hal_code_check
|
|
COMMAND ${CLANG_TIDY_EXE}
|
|
-checks='${CLANG_TIDY_CHECKS}'
|
|
--header-filter=.*
|
|
--system-headers=false
|
|
${ABSTRACT_SRC_FILES}
|
|
${IMPL_SRC_FILES}
|
|
${CLANG_TIDY_CONFIG}
|
|
-p ${PLATFORM_PATH}/cmake-shell
|
|
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR_IPCSDK}/hal
|
|
)
|
|
file(GLOB_RECURSE HEADER_FILES *.h)
|
|
add_custom_target(
|
|
Hal_code_format
|
|
COMMAND ${CLANG_FORMAT_EXE}
|
|
-style=file
|
|
-i ${ABSTRACT_SRC_FILES} ${IMPL_SRC_FILES} ${HEADER_FILES}
|
|
WORKING_DIRECTORY ${HAL_SOURCE_PATH}
|
|
)
|
|
if ("${COMPILE_IMPROVE_SUPPORT}" MATCHES "true")
|
|
add_custom_command(
|
|
TARGET ${IMPL_TARGET}
|
|
PRE_BUILD
|
|
COMMAND make Hal_code_check
|
|
COMMAND make Hal_code_format
|
|
WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/
|
|
)
|
|
endif()
|
|
|
|
define_file_name(${IMPL_TARGET})
|
|
define_file_name(${ABSTRACT_TARGET})
|
|
|
|
file(GLOB_RECURSE INSTALL_HEADER_FILES include/*.h)
|
|
install(FILES ${INSTALL_HEADER_FILES} DESTINATION include) |