CMakeLists.txt 4.1 KB
Newer Older
1
CMAKE_MINIMUM_REQUIRED(VERSION 3.0...3.20)
S
slguan 已提交
2 3 4
PROJECT(TDengine)

ADD_SUBDIRECTORY(monitor)
5 6

IF (TD_BUILD_HTTP)
7 8 9
  MESSAGE("")
  MESSAGE("${Yellow} use original embedded httpd ${ColourReset}")
  MESSAGE("")
10
  ADD_SUBDIRECTORY(http)
11 12
ELSEIF(TD_BUILD_TAOSA_INTERNAL)
  MESSAGE("${Yellow} use taosa internal as httpd ${ColourReset}")
13 14
ELSE ()
  MESSAGE("")
15
  MESSAGE("${Green} use taosadapter as httpd ${ColourReset}")
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

  EXECUTE_PROCESS(
      COMMAND  git rev-parse --abbrev-ref HEAD
      RESULT_VARIABLE result_taos_version
      OUTPUT_VARIABLE taos_version
      )

  STRING(FIND ${taos_version} release is_release_branch)

  IF ("${is_release_branch}" STREQUAL "0")
      STRING(SUBSTRING "${taos_version}" 12 -1 taos_version)
      STRING(STRIP "${taos_version}" taos_version)
  ELSE ()
      STRING(CONCAT taos_version "branch_" "${taos_version}")
      STRING(STRIP "${taos_version}" taos_version)
  ENDIF ()
32
  EXECUTE_PROCESS(
33
      COMMAND cd ${CMAKE_CURRENT_SOURCE_DIR}/taosadapter
34 35 36 37
      )
  EXECUTE_PROCESS(
      COMMAND git rev-parse --short HEAD
      RESULT_VARIABLE commit_sha1
38
      OUTPUT_VARIABLE taosadapter_commit_sha1
39
      )
40
  IF ("${taosadapter_commit_sha1}" STREQUAL "")
41
      SET(taosadapter_commit_sha1 "unknown")
42
  ELSE ()
43 44
      STRING(SUBSTRING "${taosadapter_commit_sha1}" 0 7 taosadapter_commit_sha1)
      STRING(STRIP "${taosadapter_commit_sha1}" taosadapter_commit_sha1)
45
  ENDIF ()
46
  MESSAGE("${Green} taosAdapter will use ${taos_version} and commit ${taosadapter_commit_sha1} as version ${ColourReset}")
47 48 49
  EXECUTE_PROCESS(
      COMMAND cd ..
      )
50 51 52 53 54 55 56 57 58 59 60 61

  IF (TD_LINUX)
      include(ExternalProject)
      ExternalProject_Add(taosadapter
          PREFIX        "taosadapter"
          SOURCE_DIR    ${CMAKE_CURRENT_SOURCE_DIR}/taosadapter
          BUILD_ALWAYS         off
          DEPENDS             taos
          BUILD_IN_SOURCE     1
          CONFIGURE_COMMAND cmake -E echo "taosadapter no need cmake to config"
          PATCH_COMMAND
          COMMAND     git clean -f -d
62
          BUILD_COMMAND CGO_CFLAGS=-I${CMAKE_CURRENT_SOURCE_DIR}/../inc CGO_LDFLAGS=-L${CMAKE_BINARY_DIR}/build/lib  go build -ldflags "-s -w -X github.com/taosdata/taosadapter/version.Version=${taos_version} -X github.com/taosdata/taosadapter/version.CommitID=${taosadapter_commit_sha1}"
63
          INSTALL_COMMAND
64
          COMMAND curl -sL https://github.com/upx/upx/releases/download/v3.96/upx-3.96-amd64_linux.tar.xz -o upx.tar.xz && tar -xvJf upx.tar.xz -C ${CMAKE_BINARY_DIR} --strip-components 1 > /dev/null && ${CMAKE_BINARY_DIR}/upx taosadapter || :
65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
          COMMAND cmake -E copy taosadapter ${CMAKE_BINARY_DIR}/build/bin
          COMMAND cmake -E make_directory ${CMAKE_BINARY_DIR}/test/cfg/
          COMMAND cmake -E copy ./example/config/taosadapter.toml ${CMAKE_BINARY_DIR}/test/cfg/
          COMMAND cmake -E copy ./taosadapter.service ${CMAKE_BINARY_DIR}/test/cfg/
          )
  ELSEIF (TD_DARWIN)
      include(ExternalProject)
      ExternalProject_Add(taosadapter
          PREFIX        "taosadapter"
          SOURCE_DIR    ${CMAKE_CURRENT_SOURCE_DIR}/taosadapter
          BUILD_ALWAYS         off
          DEPENDS             taos
          BUILD_IN_SOURCE     1
          CONFIGURE_COMMAND cmake -E echo "taosadapter no need cmake to config"
          PATCH_COMMAND
          COMMAND     git clean -f -d
81
          BUILD_COMMAND CGO_CFLAGS=-I${CMAKE_CURRENT_SOURCE_DIR}/../inc CGO_LDFLAGS=-L${CMAKE_BINARY_DIR}/build/lib  go build -ldflags "-s -w -X github.com/taosdata/taosadapter/version.Version=${taos_version} -X github.com/taosdata/taosadapter/version.CommitID=${taosadapter_commit_sha1}"
82 83 84 85 86 87 88 89 90
          INSTALL_COMMAND
          COMMAND cmake -E copy taosadapter ${CMAKE_BINARY_DIR}/build/bin
          COMMAND cmake -E make_directory ${CMAKE_BINARY_DIR}/test/cfg/
          COMMAND cmake -E copy ./example/config/taosadapter.toml ${CMAKE_BINARY_DIR}/test/cfg/
          COMMAND cmake -E copy ./taosadapter.service ${CMAKE_BINARY_DIR}/test/cfg/
          )
  ELSE ()
      MESSAGE("${Yellow} Windows system still use original embedded httpd ${ColourReset}")
  ENDIF ()
91 92
ENDIF ()

S
TD-1207  
Shengliang Guan 已提交
93
IF (TD_LINUX AND TD_MQTT)
S
TD-1310  
Shengliang Guan 已提交
94
  ADD_SUBDIRECTORY(mqtt)
95
ENDIF ()