CMakeLists.txt 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. #rights reserved
  2. cmake_minimum_required(VERSION 2.8)
  3. #project name
  4. set(PROJECT_NAME "leo-das")
  5. message(INFO " SYSTEM_ARCH:${SYSTEM_ARCH}\n")
  6. set(CMAKE_BUILD_TYPE RELEASE)
  7. set(CMAKE_CXX_FLAGS "-fPIC -std=gnu++0x")
  8. macro(get_git_branch _git_branch)
  9. find_package(Git QUIET)
  10. if(GIT_FOUND)
  11. execute_process(
  12. COMMAND ${GIT_EXECUTABLE} symbolic-ref -q HEAD
  13. OUTPUT_VARIABLE ${_git_branch}
  14. OUTPUT_STRIP_TRAILING_WHITESPACE
  15. ERROR_QUIET
  16. WORKING_DIRECTORY
  17. ${CMAKE_CURRENT_SOURCE_DIR}
  18. )
  19. endif()
  20. endmacro()
  21. # 获取当前的分支
  22. set(GIT_BRANCH "")
  23. get_git_branch(GIT_BRANCH)
  24. string(REGEX REPLACE ".*/(.*)" "\\1" _git_branch "${GIT_BRANCH}")
  25. message(STATUS "Git branch is ${_git_branch}") # 宏的结束
  26. add_definitions(-DDAS_VERSION=\"${_git_branch}\")
  27. include(${ROOT_DIR}/buildtools/cmake/gcc-gt675x-10.4.0-2023.06.27-x86_64_aarch64-htnice-linux-gnu.cmake)
  28. project(${PROJECT_NAME})
  29. set(PROJECT_SOURCE_DIR ${ROOT_DIR})
  30. set(PROJECT_BINARY_DIR ${ROOT_DIR}/out/${PRODUCT_NAME})
  31. set(CMAKE_SOURCE_DIR ${ROOT_DIR})
  32. set(CMAKE_BINARY_DIR ${ROOT_DIR}/out/${PRODUCT_NAME})
  33. set(CMAKE_INSTALL_PREFIX ${ROOT_DIR}/out/${PRODUCT_NAME}/install)
  34. message(STATUS "PROJECT_SOURCE_DIR: ${PROJECT_SOURCE_DIR}, PROJECT_BINARY_DIR: ${PROJECT_BINARY_DIR}")
  35. add_definitions(-DHTNICE_G4)
  36. add_definitions(-DUSE_HTNICE)
  37. add_definitions(-DG4)
  38. add_definitions(-DHTNICE_K4)
  39. # add_definitions(-DLINUX)
  40. # add_definitions(-D__arm__)
  41. link_directories(${PROJECT_BINARY_DIR}/thirdparty/Libevent/lib
  42. ${PROJECT_BINARY_DIR}/thirdparty/zlib
  43. ${PROJECT_BINARY_DIR}/thirdparty/json-c
  44. ${PROJECT_BINARY_DIR}/thirdparty/libxml2
  45. ${PROJECT_BINARY_DIR}/thirdparty/SQLiteCpp/sqlite3
  46. )
  47. include_directories(
  48. ${PROJECT_BINARY_DIR}/thirdparty/libxml2
  49. ${PROJECT_BINARY_DIR}/thirdparty/zlib
  50. ${PROJECT_BINARY_DIR}/thirdparty/openssl/include
  51. ${PROJECT_BINARY_DIR}/thirdparty/libevent/include
  52. )
  53. #
  54. include_directories(
  55. ${PROJECT_SOURCE_DIR}/thirdparty/zlib
  56. ${PROJECT_SOURCE_DIR}/thirdparty/openssl/include
  57. ${PROJECT_SOURCE_DIR}/thirdparty/libxml2/include
  58. ${PROJECT_SOURCE_DIR}/thirdparty/mbedtls/include
  59. ${PROJECT_SOURCE_DIR}/thirdparty/SQLiteCpp/sqlite3
  60. ${PROJECT_SOURCE_DIR}/thirdparty/libevent/include
  61. ${PROJECT_SOURCE_DIR}/
  62. )
  63. add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/openssl ${PROJECT_BINARY_DIR}/thirdparty/openssl)
  64. add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/mbedtls ${PROJECT_BINARY_DIR}/thirdparty/mbedtls)
  65. add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/zlib ${PROJECT_BINARY_DIR}/thirdparty/zlib)
  66. set(LIBXML2_WITH_PYTHON OFF)
  67. add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/libxml2 ${PROJECT_BINARY_DIR}/thirdparty/libxml2)
  68. add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/SQLiteCpp ${PROJECT_BINARY_DIR}/thirdparty/SQLiteCpp)
  69. add_subdirectory(${PROJECT_SOURCE_DIR}/thirdparty/libevent ${PROJECT_BINARY_DIR}/thirdparty/libevent)
  70. add_subdirectory(${PROJECT_SOURCE_DIR}/utils ${PROJECT_BINARY_DIR}/utils)
  71. # set(MbedTLS_DIR ${ROOT_DIR}/thirdparty/mbedtls/cmake)
  72. # find_package(MbedTLS REQUIRED CONFIG)
  73. # message("MbedTLS: ${MbedTLS_FOUND}, ${MbedTLS_INCLUDE_DIRS}, ${MbedTLS_LIBS}")
  74. # if(MbedTLS_FOUND)
  75. # link_libraries(${MbedTLS_LIBS})
  76. # include_directories(${MbedTLS_INCLUDE_DIRS})
  77. # endif()
  78. add_subdirectory(${PROJECT_SOURCE_DIR}/gw_leo ${PROJECT_BINARY_DIR}/gw_leo)