cmake_minimum_required(VERSION 3.15) project(RS71_Drive) message("============== 构建项目开始 ==============") # ------- all_in_one beg ------- # 判断当前目录是否为 cmake的根目录,如果不是,则是被其他项目引用的,不需要编译测试,工具模块 message("AO当前文件根目录 (CMAKE_CURRENT_SOURCE_DIR) ${CMAKE_CURRENT_SOURCE_DIR}") message("AO当前项目根目录 (CMAKE_SOURCE_DIR) ${CMAKE_SOURCE_DIR}") # 当前文件路径 set(AO_FILE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}") # 项目根CMakeLists.txt文件路径 set(AO_PROJ_ROOT "${CMAKE_SOURCE_DIR}") set(CMAKE_MODULE_PATH "${AO_FILE_ROOT}/cmake;${CMAKE_MODULE_PATH}") if("${AO_FILE_ROOT}" STREQUAL "${AO_PROJ_ROOT}") set(BUILD_AS_PROJ TRUE) message("作为单个工程编译") include(${AO_PROJ_ROOT}/cmake/ThirdSupport.cmake) else () set(BUILD_AS_LIB TRUE) message("作为嵌入库编译") endif() include(ThirdSupport) include(all_in_one) # 设置默认程序根目录,程序中所有路径均参照此路径,方便调试和发布 if(DEBUG_MODE) set(DEFAULT_CONFIG_DIR "${CMAKE_SOURCE_DIR}/config") add_definitions("-DDEFAULT_ROOT_DIR=\"${CMAKE_SOURCE_DIR}\"") add_definitions("-DDEFAULT_CONFIG_DIR=\"${DEFAULT_CONFIG_DIR}\"") else() add_definitions("-DDEFAULT_ROOT_DIR=\"./\"") add_definitions("-DDEFAULT_CONFIG_DIR=\"./config\"") endif() message("当前根目录: ${DEFAULT_ROOT_DIR}") message("配置文件目录: ${DEFAULT_CONFIG_DIR}") include_directories(${CMAKE_CURRENT_SOURCE_DIR}/core) # 添加目录 add_subdirectory(core) # core代码 add_subdirectory(src) # 主函数