84 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			CMake
		
	
	
	
	
	
# include(${CMAKE_SOURCE_DIR}/build/independent_source.cmake)
 | 
						|
include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
 | 
						|
set(EXECUTABLE_OUTPUT_PATH ${TEST_OUTPUT_PATH}/bin)
 | 
						|
 | 
						|
include_directories(
 | 
						|
    ./src
 | 
						|
    ./include
 | 
						|
    ./tool/include
 | 
						|
    ${UTILS_SOURCE_PATH}/Log/include
 | 
						|
    ${UTILS_SOURCE_PATH}/StatusCode/include
 | 
						|
    ${UTILS_SOURCE_PATH}/UartDevice/include
 | 
						|
    ${UTILS_SOURCE_PATH}/McuProtocol/include
 | 
						|
    ${MIDDLEWARE_SOURCE_PATH}/McuManager/include
 | 
						|
    ${MIDDLEWARE_SOURCE_PATH}/McuManager/src
 | 
						|
    ${MIDDLEWARE_SOURCE_PATH}/McuAskBase/include
 | 
						|
    ${TEST_SOURCE_PATH}
 | 
						|
    ${TEST_SOURCE_PATH}/utils/LinuxApiMock/include
 | 
						|
    ${TEST_SOURCE_PATH}/utils/UartDevice/tool/include
 | 
						|
    ${TEST_SOURCE_PATH}/utils/McuProtocol/tool/include
 | 
						|
    ${TEST_SOURCE_PATH}/middleware/McuAskBase/tool/include
 | 
						|
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include
 | 
						|
    ${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googlemock/include
 | 
						|
)
 | 
						|
 | 
						|
link_directories(
 | 
						|
    ${LIBS_OUTPUT_PATH}
 | 
						|
    ${EXTERNAL_LIBS_OUTPUT_PATH}
 | 
						|
)
 | 
						|
 | 
						|
if (DEFINED MCU_UART_DEVICE)
 | 
						|
    add_definitions(-DMCU_UART_DEVICE=\"${MCU_UART_DEVICE}\")
 | 
						|
else()
 | 
						|
    message(FATAL_ERROR "You set define MCU_UART_DEVICE in toolchan .cmake file to tell what uart device to contrl.")
 | 
						|
endif()
 | 
						|
 | 
						|
aux_source_directory(. SRC_FILES_MAIN)
 | 
						|
aux_source_directory(./src SRC_FILES)
 | 
						|
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
 | 
						|
    aux_source_directory(./src_mock SRC_FILES)
 | 
						|
endif()
 | 
						|
 | 
						|
set(TARGET_NAME McuManagerTest)
 | 
						|
add_executable(${TARGET_NAME} ${SRC_FILES_MAIN} ${SRC_FILES})
 | 
						|
target_link_libraries(${TARGET_NAME} McuAskBase McuManager McuManagerTestTool McuAskBaseTestTool gtest gmock pthread)
 | 
						|
if(${TEST_COVERAGE} MATCHES "true")
 | 
						|
    target_link_libraries(${TARGET_NAME} gcov)
 | 
						|
endif()
 | 
						|
 | 
						|
add_custom_target(
 | 
						|
    McuManagerTest_code_check
 | 
						|
    COMMAND ${CLANG_TIDY_EXE}
 | 
						|
    -checks='${CLANG_TIDY_CHECKS}'
 | 
						|
    --header-filter=.*
 | 
						|
    --system-headers=false
 | 
						|
    ${SRC_FILES}
 | 
						|
    ${CLANG_TIDY_CONFIG}
 | 
						|
    # --line-filter='[{\"name\":\"${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include/getest/gtest.h\"}]'
 | 
						|
    --line-filter='[{\"name\":\"${EXTERNAL_SOURCE_PATH}/gtest/googletest-release-1.11.0/googletest/include/getest/*.h\"}]'
 | 
						|
    -p ${PLATFORM_PATH}/cmake-shell
 | 
						|
    WORKING_DIRECTORY ${TEST_SOURCE_PATH}/middleware/McuManager
 | 
						|
)
 | 
						|
 | 
						|
file(GLOB_RECURSE HEADER_FILES *.h)
 | 
						|
add_custom_target(
 | 
						|
    McuManagerTest_code_format
 | 
						|
    COMMAND ${CLANG_FORMAT_EXE}
 | 
						|
    -style=file
 | 
						|
    -i ${SRC_FILES} ${SRC_FILES_MAIN} ${HEADER_FILES}
 | 
						|
    WORKING_DIRECTORY ${TEST_SOURCE_PATH}/middleware/McuManager
 | 
						|
)
 | 
						|
if ("${COMPILE_IMPROVE_SUPPORT}" MATCHES "true")
 | 
						|
add_custom_command(
 | 
						|
    TARGET ${TARGET_NAME}
 | 
						|
    PRE_BUILD
 | 
						|
    COMMAND make McuManagerTest_code_check
 | 
						|
    COMMAND make McuManagerTest_code_format
 | 
						|
    WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/
 | 
						|
)
 | 
						|
endif()
 | 
						|
define_file_name(${TARGET_NAME})
 | 
						|
 | 
						|
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/tool/CMakeLists.txt")
 | 
						|
    add_subdirectory(tool)
 | 
						|
endif() |