cmake_minimum_required(VERSION 3.5.1) include(build/global_config.cmake) project(app) message("platform = ${TARGET_PLATFORM}") message("platform PATH = ${PLATFORM_PATH}") # Gdb debug include(build/sdk_config.cmake) # if(${TARGET_PLATFORM} MATCHES ${DEFINE_LINUX}) # message("---------------------------Debug mode.-----------------------") # SET(CMAKE_BUILD_TYPE "Debug") # SET(CMAKE_CXX_FLAGS_DEBUG "$ENV{CXXFLAGS} -O0 -Wall -g2 -ggdb") # SET(CMAKE_CXX_FLAGS_RELEASE "$ENV{CXXFLAGS} -O3 -Wall") # # asan # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fsanitize=leak -fsanitize=address -fno-omit-frame-pointer -fsanitize=undefined") # else() # message("---------------------------Release mode.-----------------------") # SET(CMAKE_BUILD_TYPE "Release") # set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os") # set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Os") # endif() # if(${COVERAGE_ON} MATCHES "true") # message("you choose to build gcno file") # add_definitions("-fprofile-arcs") # add_definitions("-ftest-coverage") # endif() # 查看是工具链支持情况 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) 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() link_directories( ${DEPENDENCY_LIBS_PATH}/live/${LIVE_PLATFORM_SRC_PATH} ) string(COMPARE EQUAL "${PLATFORM_PATH}" "" value) message("The platform path is ${PLATFORM_PATH}.") if (value EQUAL 0) #变量被设置了 message("build chip board libs.") link_directories( # ${DEPENDENCY_LIBS_PATH}/live/${LIVE_PLATFORM_SRC_PATH} ) endif() #Add macro definition add_definitions(-DCONFIG_FILE_PATH=\"${CONFIG_FILE_PATH}\") add_definitions(-DCONFIG_FILE_STATIC_PATH=\"${CONFIG_FILE_STATIC_PATH}\") add_definitions(-DSF_DCF_EXT_PHOTO=\"${SF_DCF_EXT_PHOTO}\") add_definitions(-DSF_DCF_EXT_MOV=\"${SF_DCF_EXT_MOV}\") add_definitions(-DSF_SD_ROOT=\"${SF_SD_ROOT}\") add_definitions(-DSF_DCF_DIR_NAME_SUFFIX=\"${SF_DCF_DIR_NAME_SUFFIX}\") add_definitions(-DSF_DCF_ROOT_DIR_NAME=\"${SF_DCF_ROOT_DIR_NAME}\") add_definitions(-DSF_DCF_THM_DIR_NAME=\"${SF_DCF_THM_DIR_NAME}\") add_definitions(-DSF_DCF_FILE_NAME_PREFIX=\"${SF_DCF_FILE_NAME_PREFIX}\") # Config message of libs on board # 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 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(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) # add_custom_target( # IPCSDK_libs # COMMAND rm -rf ${LIBS_OUTPUT_PATH}/include # COMMAND rm -rf ${LIBS_OUTPUT_PATH}/readme # COMMAND mkdir ${LIBS_OUTPUT_PATH}/include # COMMAND mkdir ${LIBS_OUTPUT_PATH}/readme # COMMAND make network_module_tools # COMMAND make ConfigOutput # COMMAND make FtpManagerOutput # COMMAND make AtManagerOutput # COMMAND make LogOutput # WORKING_DIRECTORY ${PROJECT_ROOT_PATH}/cmake-shell-linux/ # )