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 ) #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 StatusCode Log) add_library(${IMPL_TARGET} STATIC ${IMPL_SRC_FILES}) target_link_libraries(${IMPL_TARGET} ${ABSTRACT_TARGET}) if ("${COMPILE_IMPROVE_SUPPORT}" MATCHES "true") 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} ) 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)