CMakeLists.txt 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. #rights reserved
  2. cmake_minimum_required(VERSION 3.6)
  3. include(${ROOT_DIR}/buildtools/cmake/gcc-gt675x-10.4.0-2023.06.27-x86_64_aarch64-htnice-linux-gnu.cmake)
  4. #project name
  5. set(PROJECT_NAME "leo-das")
  6. message(INFO " SYSTEM_ARCH:${SYSTEM_ARCH}\n")
  7. set(CMAKE_BUILD_TYPE RELEASE)
  8. project(${PROJECT_NAME})
  9. message("PRODUCT_NAME: ${PRODUCT_NAME}")
  10. message(STATUS "PROJECT_SOURCE_DIR: ${PRODUCT_ROOT_DIR}, PROJECT_BINARY_DIR: ${PRODUCT_BUILD_DIR}")
  11. add_definitions(-DDAS_VERSION=\"${PRODUCT_VERSION}\")
  12. add_definitions(-DPRODUCT_${PRODUCT_NAME})
  13. add_definitions(-DPRODUCT_NAME=\"${PRODUCT_NAME}\")
  14. add_definitions(-DUSE_HTNICE)
  15. add_definitions(-DHTNICE_K4)
  16. set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs?" FORCE)
  17. include_directories(${PRODUCT_ROOT_DIR})
  18. include_directories(${PRODUCT_ROOT_DIR}/thirdparty)
  19. include_directories(${PRODUCT_ROOT_DIR}/vendor/${PRODUCT_NAME})
  20. include_directories(${PRODUCT_BUILD_DIR}/thirdparty)
  21. include_directories(./ ${PRODUCT_ROOT_DIR}/foundation/)
  22. find_package(libuv REQUIRED)
  23. if (libuv_FOUND)
  24. include_directories(${LIBUV_INCLUDE_DIR})
  25. link_directories(${LIBUV_LIBS_DIR})
  26. endif()
  27. # OBJECT EXCLUDE_FROM_ALL
  28. add_library(vendor STATIC ${PRODUCT_ROOT_DIR}/vendor/vendor_base.cpp)
  29. target_include_directories(vendor PUBLIC ${PRODUCT_ROOT_DIR}/vendor)
  30. target_link_directories(vendor PUBLIC ${LIBUV_LIBS_DIR})
  31. target_link_libraries(vendor uv)
  32. build_subdirectory(utils)
  33. # build_subdirectory(foundation/gw_leo)
  34. build_subdirectory(foundation/communications)
  35. build_subdirectory(foundation/leoyun)
  36. build_subdirectory(foundation/webconfig)
  37. # build_subdirectory(foundation/protocol)
  38. build_subdirectory(foundation/data-acq)
  39. build_subdirectory(foundation/iot_acq)
  40. build_subdirectory(foundation/downlink)