12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #rights reserved
- cmake_minimum_required(VERSION 3.22)
- include("${ROOT_DIR}/buildtools/cmake/toolchain_common.cmake")
- #project name
- set(PROJECT_NAME "leo-das")
- message(INFO " SYSTEM_ARCH:${SYSTEM_ARCH}\n")
- # 获取当前的分支
- set(GIT_BRANCH "")
- get_git_branch(GIT_BRANCH)
- string(REGEX REPLACE ".*/(.*)" "\\1" _git_branch "${GIT_BRANCH}")
- message(STATUS "Git branch is ${_git_branch}") # 宏的结束
- project(${PROJECT_NAME})
- message("PRODUCT_NAME: ${PRODUCT_NAME}")
- message(STATUS "PROJECT_SOURCE_DIR: ${PRODUCT_ROOT_DIR}, PROJECT_BINARY_DIR: ${PRODUCT_BUILD_DIR}")
- add_definitions(-DDAS_VERSION=\"${PRODUCT_VERSION}\")
- add_definitions(-DPRODUCT_NAME=\"${PRODUCT_NAME}\")
- add_definitions(-DUSE_HTNICE)
- add_definitions(-DHTNICE_K4)
- set(BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs?" FORCE)
- include_directories(${PRODUCT_ROOT_DIR})
- include_directories(${PRODUCT_ROOT_DIR}/thirdparty)
- include_directories(${PRODUCT_ROOT_DIR}/vendor/${PRODUCT_NAME})
- include_directories(${PRODUCT_BUILD_DIR}/thirdparty)
- find_library(OPENSSL_SSL_LIBRARY ssl ${OPENSSL_ROOT_DIR}/ssl NO_DEFAULT_PATH)
- find_library(OPENSSL_CRYPTO_LIBRARY crypto ${OPENSSL_ROOT_DIR}/crypto/ NO_DEFAULT_PATH)
- set(OPENSSL_INCLUDE_DIR "${PRODUCT_BUILD_DIR}/thirdparty/openssl/include")
- message("OPENSSL: ${OPENSSL_ROOT_DIR}/ssl, OPENSSL_SSL_LIBRARY: ${OPENSSL_SSL_LIBRARY}, OPENSSL_CRYPTO_LIBRARY: ${OPENSSL_CRYPTO_LIBRARY}, OPENSSL_INCLUDE_DIR: ${OPENSSL_INCLUDE_DIR}")
- set(LIBXML2_WITH_PYTHON OFF)
- # build_subdirectory(thirdparty/libxml2 INCLUDE thirdparty/libxml2)
- # build_subdirectory(thirdparty/SQLiteCpp INCLUDE thirdparty/SQLiteCpp/sqlite3)
- include_directories(${PRODUCT_ROOT_DIR}/thirdparty/SQLiteCpp/sqlite3)
- find_path(LIBUV_INCLUDE_DIRECTORY uv.h ${PRODUCT_ROOT_DIR}/thirdparty/libuv/include NO_DEFAULT_PATH)
- # find_library(LIBUV_LIBRARY uv ${LIBUV_LIBS_DIR} NO_DEFAULT_PATH)
- list(APPEND LIBUV_INCLUDE_DIRECTORY ${LIBUV_INCLUDE_DIR})
- include_directories(./ ${PRODUCT_ROOT_DIR}/foundation/
- ${LIBUV_INCLUDE_DIRECTORY})
- # OBJECT EXCLUDE_FROM_ALL
- add_library(vendor STATIC ${PRODUCT_ROOT_DIR}/vendor/vendor_base.cpp)
- target_include_directories(vendor PUBLIC ${PRODUCT_ROOT_DIR}/vendor)
- target_link_directories(vendor PUBLIC ${LIBUV_LIBS_DIR})
- target_link_libraries(vendor uv)
- build_subdirectory(utils)
- # build_subdirectory(foundation/gw_leo)
- build_subdirectory(foundation/communications)
- build_subdirectory(foundation/leoyun)
- build_subdirectory(foundation/webconfig)
- # build_subdirectory(foundation/protocol)
- build_subdirectory(foundation/data-acq)
- build_subdirectory(foundation/iot_acq)
- build_subdirectory(foundation/downlink)
- build_subdirectory(Lora/chirpstack-handler)
|