cmake_minimum_required(VERSION 3.5.1) include(build/global_config.cmake) project(fancycode) # 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 "See ${CMAKE_SOURCE_DIR_IPCSDK}/doc.") message(FATAL_ERROR "You set support clang-tidy, but clang-tidy not found. Check path ${LLVM_PATH}/build/bin, weather clang-tidy exist. How to install tools? See ${IPC_SDK_PATH}/doc/clang-tidy_user_guide.md How to disable clang-tidy tool? Modify: set(CLANG_TIDY_SUPPORT \"false\") See:${IPC_SDK_PATH}/builde/global_config.cmake") 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, but clang-format not found. Check path ${LLVM_PATH}/build/bin, weather clang-format exist. How to install tools? See ${IPC_SDK_PATH}/doc/clang-tidy_user_guide.md How to disable clang-format tool? Modify: set(CLANG_FORMAT_SUPPORT \"false\") See:${IPC_SDK_PATH}/builde/global_config.cmake") 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(external) 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)