CMakeLists.txt 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. #rights reserved
  2. cmake_minimum_required(VERSION 3.6)
  3. # set(CMAKE_TOOLCHAIN_FILE ${ROOT_DIR}/buildtools/cmake/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.cmake)
  4. include(${ROOT_DIR}/buildtools/cmake/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf.cmake)
  5. #project name
  6. set(PROJECT_NAME "leo-das")
  7. message(INFO " SYSTEM_ARCH:${SYSTEM_ARCH}\n")
  8. set(CMAKE_BUILD_TYPE RELEASE)
  9. set(CMAKE_CXX_FLAGS "-fPIC -std=gnu++11 -Wno-error=implicit-function-declaration -Wno-error=int-conversion")
  10. set(CMAKE_C_FLAGS "-O3 -fPIC -Wunused-result -Wno-error=implicit-function-declaration -Wno-error=int-conversion")
  11. # 获取当前的分支
  12. set(GIT_BRANCH "")
  13. get_git_branch(GIT_BRANCH)
  14. string(REGEX REPLACE ".*/(.*)" "\\1" _git_branch "${GIT_BRANCH}")
  15. message(STATUS "Git branch is ${_git_branch}") # 宏的结束
  16. add_definitions(-DDAS_VERSION=\"${_git_branch}\")
  17. project(${PROJECT_NAME})
  18. message("PRODUCT_NAME: ${PRODUCT_NAME}")
  19. message(STATUS "PROJECT_SOURCE_DIR: ${PRODUCT_ROOT_DIR}, PROJECT_BINARY_DIR: ${PRODUCT_BUILD_DIR}")
  20. add_definitions(-DUSE_HTNICE)
  21. add_definitions(-DHTNICE_K4)
  22. # add_definitions(-DLINUX)
  23. set(BUILD_SHARED_LIBS OFF)
  24. set(EVENT_LIBRARY_TYPE STATIC)
  25. include_directories(${PRODUCT_ROOT_DIR})
  26. include_directories(${PRODUCT_ROOT_DIR}/thirdparty)
  27. include_directories(${PRODUCT_BUILD_DIR}/thirdparty)
  28. include_directories(${PRODUCT_ROOT_DIR}/vendor/${PRODUCT_NAME})
  29. # set(OPENSSL_ROOT_DIR "${PRODUCT_BUILD_DIR}/thirdparty/openssl")
  30. # set(OPENSSL_CRYPTO_LIBRARY ${PRODUCT_BUILD_DIR}/thirdparty/openssl/crypto/libcrypto.so)
  31. # set(OPENSSL_SSL_LIBRARY ${PRODUCT_BUILD_DIR}/thirdparty/openssl/ssl/libssl.so)
  32. # set(OPENSSL_INCLUDE_DIR "${PRODUCT_BUILD_DIR}/thirdparty/openssl/include")
  33. # # set(CMAKE_EXE_LINKER_FLAGS "-L${PRODUCT_BUILD_DIR}/thirdparty/openssl/crypto -lcrypto -L${PRODUCT_BUILD_DIR}/thirdparty/openssl/ssl -lssl")
  34. # # INCLUDE thirdparty/openssl/include LINK thirdparty/openssl/ssl thirdparty/openssl/crypto
  35. # build_project(thirdparty/openssl)
  36. # build_subdirectory(thirdparty/mbedtls)
  37. # build_subdirectory(thirdparty/zlib)
  38. set(LIBXML2_WITH_PYTHON OFF)
  39. # build_subdirectory(thirdparty/libxml2 INCLUDE thirdparty/libxml2)
  40. build_subdirectory(thirdparty/SQLiteCpp INCLUDE thirdparty/SQLiteCpp/sqlite3)
  41. build_subdirectory(utils)
  42. # build_subdirectory(foundation/gw_leo)
  43. # build_subdirectory(foundation/webconfig)
  44. # build_subdirectory(Lora/sx1302_hal)
  45. # {
  46. # "name": "xfrpc",
  47. # "options":["-DTHIRDPARTY_STATIC_BUILD=arm"],
  48. # "include":["$PRODUCT_ROOT_DIR/thirdparty/zlib", "$PRODUCT_BUILD_DIR/thirdparty/zlib"],
  49. # "deps":["zlib"]
  50. # },
  51. # {
  52. # "name": "libevent",
  53. # "options":["-DEVENT__DISABLE_TESTS=ON", "-DEVENT__HAVE_EPOLL_PWAIT2=0"]
  54. # }