hunting/application/main/CMakeLists.txt
2024-06-15 08:35:07 +08:00

66 lines
2.1 KiB
CMake

include(${CMAKE_SOURCE_DIR_IPCSDK}/build/global_config.cmake)
set(EXECUTABLE_OUTPUT_PATH ${EXEC_OUTPUT_PATH})
set(LIBRARY_OUTPUT_PATH ${LIBS_OUTPUT_PATH})
set(MAIN_INCLUDE_PATH "${APPLICATION_SOURCE_PATH}/main/src" CACHE STRING INTERNAL FORCE)
set(MAIN_INCLUDE_PATH "${MAIN_INCLUDE_PATH};${UTILS_SOURCE_PATH}/StatusCode/include" CACHE STRING INTERNAL FORCE)
set(MAIN_INCLUDE_PATH "${MAIN_INCLUDE_PATH};${UTILS_SOURCE_PATH}/Log/include" CACHE STRING INTERNAL FORCE)
set(MAIN_INCLUDE_PATH "${MAIN_INCLUDE_PATH};${HAL_SOURCE_PATH}/include" CACHE STRING INTERNAL FORCE)
include_directories(${MAIN_INCLUDE_PATH})
link_directories(
${LIBS_OUTPUT_PATH}
${HAL_SOURCE_PATH}/include
)
aux_source_directory(./ SRC_FILES)
# aux_source_directory(./src SRC_FILES)
# Mark src files for test.
file(GLOB_RECURSE MAIN_SRC_FILE_THIS src/*.cpp src/*.c)
set(MAIN_SRC_FILE "${MAIN_SRC_FILE_THIS}" CACHE STRING INTERNAL FORCE)
set(TARGET_LIB MainLib)
add_library(${TARGET_LIB} STATIC ${MAIN_SRC_FILE_THIS})
set(TARGET_NAME ipc_x86)
add_executable(${TARGET_NAME} ${SRC_FILES})
set(LINK_LIB StatusCode Log Hal pthread dl)
set(MAIN_LINK_LIB "${LINK_LIB}" CACHE STRING INTERNAL FORCE)
target_link_libraries(${TARGET_LIB} ${MAIN_LINK_LIB})
target_link_libraries(${TARGET_NAME} ${TARGET_LIB})
if(${TEST_COVERAGE} MATCHES "true")
target_link_libraries(${TARGET_NAME} gcov)
endif()
if ("${COMPILE_IMPROVE_SUPPORT}" MATCHES "true")
add_custom_target(
ipc_x86_code_check
COMMAND ${CLANG_TIDY_EXE}
-checks='${CLANG_TIDY_CHECKS}'
--header-filter=.*
--system-headers=false
${MAIN_SRC_FILE_THIS}
${CLANG_TIDY_CONFIG}
-p ${PLATFORM_PATH}/cmake-shell
WORKING_DIRECTORY ${APPLICATION_SOURCE_PATH}/main
)
file(GLOB_RECURSE HEADER_FILES *.h)
add_custom_target(
ipc_x86_code_format
COMMAND ${CLANG_FORMAT_EXE}
-style=file
-i ${SRC_FILES} ${HEADER_FILES} ${MAIN_SRC_FILE_THIS}
WORKING_DIRECTORY ${APPLICATION_SOURCE_PATH}/main
)
add_custom_command(
TARGET ${TARGET_NAME}
PRE_BUILD
COMMAND make ipc_x86_code_check
COMMAND make ipc_x86_code_format
WORKING_DIRECTORY ${PLATFORM_PATH}/cmake-shell/
)
endif()