mirror of
https://gitee.com/jiuyilian/embedded-framework.git
synced 2025-01-06 10:16:51 -05:00
142 lines
5.8 KiB
CMake
Executable File
142 lines
5.8 KiB
CMake
Executable File
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/
|
|
# )
|
|
|
|
|