91 lines
4.1 KiB
CMake
Executable File
91 lines
4.1 KiB
CMake
Executable File
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")
|
||
# TODO: 这里设置CMAKE_INSTALL_PREFIX不是非常合理,
|
||
# 由于CMAKE_INSTALL_PREFIX被莫名修改成其它值,在这里设置作为临时解决方案
|
||
set(CMAKE_INSTALL_PREFIX "${PLATFORM_PATH}/${PROJECT_OUTPUT_FOLDER}")
|
||
|
||
# -------------------------- 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 -------------------------- # |