set(DEFINE_LINUX "linux") # set(CMAKE_SOURCE_DIR_IPCSDK "${CMAKE_SOURCE_DIR}") # set(CMAKE_SOURCE_DIR_IPCSDK "${CMAKE_SOURCE_DIR_IPCSDK}${SUBMODULE_PATH_OF_IPC_SDK}") set(EXEC_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/bin") set(LIBS_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/libs") set(TEST_TOOLS_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/libs/test_tools") set(EXTERNAL_LIBS_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/libs/external") set(TEST_OUTPUT_PATH "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}/test") set(PROJECT_ROOT_PATH "${PLATFORM_PATH}") set(APPLICATION_SOURCE_PATH "${CMAKE_SOURCE_DIR_IPCSDK}/application") set(MIDDLEWARE_SOURCE_PATH "${CMAKE_SOURCE_DIR_IPCSDK}/middleware") set(UTILS_SOURCE_PATH "${CMAKE_SOURCE_DIR_IPCSDK}/utils") set(HAL_SOURCE_PATH "${CMAKE_SOURCE_DIR_IPCSDK}/hal") set(TEST_SOURCE_PATH "${CMAKE_SOURCE_DIR_IPCSDK}/test") set(EXTERNAL_SOURCE_PATH "${CMAKE_SOURCE_DIR_IPCSDK}/external") # -------------------------- clang-tidy tools -------------------------- # set(CLANG_TIDY_CHECKS "-*,\ llvm-else-after-return,\ -llvm-include-order,\ llvm-namespace-comment,\ llvm-prefer-isa-or-dyn-cast-in-conditionals,\ llvm-prefer-register-over-unsigned,\ llvm-qualified-auto,\ llvm-twine-local,\ misc-confusable-identifiers,\ misc-definitions-in-headers,\ misc-header-include-cycle,\ -misc-include-cleaner,\ misc-misleading-bidirectional,\ misc-misleading-identifier,\ misc-misplaced-const,\ misc-new-delete-overloads,\ misc-non-copyable-objects,\ misc-redundant-expression,\ misc-static-assert,\ misc-throw-by-value-catch-by-reference,\ misc-unconventional-assign-operator,\ misc-uniqueptr-reset-release,\ misc-unused-alias-decls,\ misc-unused-using-decls,\ readability-identifier-naming") # set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},llvm-header-guard") set(CLANG_TIDY_CHECKS "${CLANG_TIDY_CHECKS},-clang-diagnostic-error") set(CLANG_TIDY_CONFIG "-header-filter=\'.*\'") set(CLANG_TIDY_CONFIG "${CLANG_TIDY_CONFIG} -p ${CMAKE_SOURCE_DIR_IPCSDK}/cmake-shell") # set(CLANG_FORMAT_FILE "${CMAKE_SOURCE_DIR_IPCSDK}/tools/clang-format/.clang-format") set(CLANG_FORMAT_FILE "LLVM ${CMAKE_SOURCE_DIR_IPCSDK}/tools/clang-format/.clang-format") # -------------------------- clang-tidy tools end -------------------------- # # ------------ build clang-tools ------------ # if(${LINUX_TEST} MATCHES "true") set(CLANG_TIDY_SUPPORT "true") set(CLANG_FORMAT_SUPPORT "true") set(COMPILE_IMPROVE_SUPPORT "false") # 开启后每次编译可能会很慢 set(LLVM_PATH "$ENV{HOME}/llvm-project") endif() # ------------ build clang-tools end ------------ # # -------------------------- log setting -------------------------- # function(define_file_name target) get_target_property(source_files "${target}" SOURCES) foreach(source_file ${source_files}) get_property(defs SOURCE "${source_file}" PROPERTY COMPILE_DEFINITIONS) get_filename_component(file_name "${source_file}" NAME) list(APPEND defs "__F_FILE__=\"${file_name}\"") set_property( SOURCE "${source_file}" PROPERTY COMPILE_DEFINITIONS ${defs}) endforeach() endfunction() function(log_disable target) get_target_property(source_files "${target}" SOURCES) foreach(source_file ${source_files}) get_property(defs SOURCE "${source_file}" PROPERTY COMPILE_DEFINITIONS) get_filename_component(file_name "${source_file}" NAME) list(APPEND defs "LOG_DISABLE") set_property( SOURCE "${source_file}" PROPERTY COMPILE_DEFINITIONS ${defs}) endforeach() endfunction() # -------------------------- log setting end -------------------------- #