CMakeLists.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. cmake_minimum_required(VERSION 3.15)
  2. project(RS71_Drive)
  3. message("============== 构建项目开始 ==============")
  4. # ------- all_in_one beg -------
  5. # 判断当前目录是否为 cmake的根目录,如果不是,则是被其他项目引用的,不需要编译测试,工具模块
  6. message("AO当前文件根目录 (CMAKE_CURRENT_SOURCE_DIR) ${CMAKE_CURRENT_SOURCE_DIR}")
  7. message("AO当前项目根目录 (CMAKE_SOURCE_DIR) ${CMAKE_SOURCE_DIR}")
  8. # 当前文件路径
  9. set(AO_FILE_ROOT "${CMAKE_CURRENT_SOURCE_DIR}")
  10. # 项目根CMakeLists.txt文件路径
  11. set(AO_PROJ_ROOT "${CMAKE_SOURCE_DIR}")
  12. set(CMAKE_MODULE_PATH "${AO_FILE_ROOT}/cmake;${CMAKE_MODULE_PATH}")
  13. if("${AO_FILE_ROOT}" STREQUAL "${AO_PROJ_ROOT}")
  14. set(BUILD_AS_PROJ TRUE)
  15. message("作为单个工程编译")
  16. include(${AO_PROJ_ROOT}/cmake/ThirdSupport.cmake)
  17. else ()
  18. set(BUILD_AS_LIB TRUE)
  19. message("作为嵌入库编译")
  20. endif()
  21. include(ThirdSupport)
  22. include(all_in_one)
  23. # 设置默认程序根目录,程序中所有路径均参照此路径,方便调试和发布
  24. if(DEBUG_MODE)
  25. set(DEFAULT_CONFIG_DIR "${CMAKE_SOURCE_DIR}/config")
  26. add_definitions("-DDEFAULT_ROOT_DIR=\"${CMAKE_SOURCE_DIR}\"")
  27. add_definitions("-DDEFAULT_CONFIG_DIR=\"${DEFAULT_CONFIG_DIR}\"")
  28. else()
  29. add_definitions("-DDEFAULT_ROOT_DIR=\"./\"")
  30. add_definitions("-DDEFAULT_CONFIG_DIR=\"./config\"")
  31. endif()
  32. message("当前根目录: ${DEFAULT_ROOT_DIR}")
  33. message("配置文件目录: ${DEFAULT_CONFIG_DIR}")
  34. include_directories(${CMAKE_CURRENT_SOURCE_DIR}/core)
  35. # 添加目录
  36. add_subdirectory(core) # core代码
  37. add_subdirectory(src) # 主函数