114 lines
4.6 KiB
CMake
Executable File
114 lines
4.6 KiB
CMake
Executable File
cmake_minimum_required(VERSION 3.5.1)
|
|
include(build/global_config.cmake)
|
|
|
|
project(app)
|
|
|
|
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
|
|
set(CMAKE_CXX_STANDARD_INCLUDE_DIRECTORIES ${CMAKE_CXX_IMPLICIT_INCLUDE_DIRECTORIES})
|
|
|
|
message("platform = ${TARGET_PLATFORM}")
|
|
message("platform PATH = ${PLATFORM_PATH}")
|
|
|
|
# Gdb debug
|
|
include(build/sdk_config.cmake)
|
|
|
|
# 查看是工具链支持情况
|
|
include(CheckCXXCompilerFlag)
|
|
CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
|
|
CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
|
|
CHECK_CXX_COMPILER_FLAG("-std=c++14" COMPILER_SUPPORTS_CXX14)
|
|
|
|
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -std=c99")
|
|
# find the clang-tidy tools
|
|
unset(CLANG_TIDY_EXE CACHE)
|
|
unset(CLANG_TIDY_FIND CACHE)
|
|
if ("${CLANG_TIDY_SUPPORT}" MATCHES "true")
|
|
find_program(CLANG_TIDY_FIND NAMES clang-tidy PATHS ${LLVM_PATH}/build/bin)
|
|
if(CLANG_TIDY_FIND)
|
|
message(STATUS "clang-tidy found: ${CLANG_TIDY_FIND}")
|
|
# set(CMAKE_CXX_CLANG_TIDY "${CLANG_TIDY_EXE}" "-header-filter=no.h -system-headers=no.h -checks=modernize-use-override")
|
|
set(CLANG_TIDY_EXE ${CLANG_TIDY_FIND} CACHE STRING INTERNAL)
|
|
message("CLANG_TIDY_EXE = ${CLANG_TIDY_EXE}")
|
|
else()
|
|
message(FATAL_ERROR "You set support clang-tidy, bug clang-tidy not found.")
|
|
endif()
|
|
endif()
|
|
# find the clang-format tools
|
|
unset(CLANG_FORMAT_EXE CACHE)
|
|
unset(CLANG_FORMAT_FIND CACHE)
|
|
if ("${CLANG_FORMAT_SUPPORT}" MATCHES "true")
|
|
find_program(CLANG_FORMAT_FIND NAMES clang-format PATHS ${LLVM_PATH}/build/bin)
|
|
if(CLANG_FORMAT_FIND)
|
|
message(STATUS "clang-format found: ${CLANG_FORMAT_FIND}")
|
|
set(CLANG_FORMAT_EXE ${CLANG_FORMAT_FIND} CACHE STRING INTERNAL)
|
|
message("CLANG_FORMAT_EXE = ${CLANG_FORMAT_EXE}")
|
|
else()
|
|
message(FATAL_ERROR "You set support clang-format, bug clang-format not found.")
|
|
endif()
|
|
endif()
|
|
|
|
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
|
# execute_process(COMMAND sh build_lvgl_for_cmakelist.sh ${TARGET_PLATFORM} ${CMAKE_SOURCE_DIR_IPCSDK} WORKING_DIRECTORY ${EXTERNAL_SOURCE_PATH}/lvglLinux-x86/)
|
|
# add_subdirectory(external/lvglLinux-x86)
|
|
endif()
|
|
|
|
#Add macro definition
|
|
# add_definitions(-DCONFIG_FILE_PATH=\"${CONFIG_FILE_PATH}\")
|
|
|
|
# Config message of main thread
|
|
unset(MAIN_INCLUDE_PATH CACHE)
|
|
set(MAIN_INCLUDE_PATH "" CACHE STRING INTERNAL)
|
|
unset(MAIN_SRC_FILE CACHE)
|
|
set(MAIN_SRC_FILE "" CACHE STRING INTERNAL)
|
|
unset(MAIN_LINK_LIB CACHE)
|
|
set(MAIN_LINK_LIB "" CACHE STRING INTERNAL)
|
|
|
|
# Config message for test code.
|
|
unset(TEST_LINK_LIB CACHE)
|
|
set(TEST_LINK_LIB "" CACHE STRING INTERNAL)
|
|
unset(TEST_LINUX_MOCK CACHE)
|
|
set(TEST_LINUX_MOCK "" CACHE STRING INTERNAL)
|
|
# if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
|
set(TEST_LINK_LIB "testUtils" CACHE STRING INTERNAL FORCE)
|
|
# endif()
|
|
if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX})
|
|
# set(TEST_LINUX_MOCK "-Wl,--wrap=fopen,--wrap=fprintf_gpio,--wrap=fprintf_dir" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=tcgetattr" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=tcsetattr" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=gethostbyname" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=connect" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=socket" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=select" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=linux_open" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=linux_read" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=linux_write" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=linux_close" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=linux_fclose" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=linux_fread" CACHE STRING INTERNAL FORCE)
|
|
# set(TEST_LINUX_MOCK "${TEST_LINUX_MOCK},--wrap=linux_fcntl" CACHE STRING INTERNAL FORCE)
|
|
endif()
|
|
|
|
# 添加编译目录
|
|
add_subdirectory(application)
|
|
add_subdirectory(middleware)
|
|
add_subdirectory(utils)
|
|
add_subdirectory(hal)
|
|
# add_subdirectory(customization)
|
|
|
|
string(COMPARE EQUAL "${PLATFORM_PATH}" "" value)
|
|
message("The platform path is \"${PLATFORM_PATH}\".")
|
|
if (value EQUAL 0) #变量被设置了
|
|
message("build chip board code.")
|
|
# add_subdirectory(${PLATFORM_PATH})
|
|
# aux_source_directory(${PLATFORM_PATH})
|
|
endif()
|
|
|
|
message("MAIN_INCLUDE_PATH = ${MAIN_INCLUDE_PATH}")
|
|
message("MAIN_SRC_FILE = ${MAIN_SRC_FILE}")
|
|
message("MAIN_LINK_LIB = ${MAIN_LINK_LIB}")
|
|
add_subdirectory(test)
|
|
|
|
# include(build/global_config.cmake)
|
|
|
|
|