define.inc 5.6 KB
Newer Older
S
[TD-58]  
slguan 已提交
1 2 3 4
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
PROJECT(TDengine)

IF (TD_ACCOUNT)
S
slguan 已提交
5
  ADD_DEFINITIONS(-D_ACCT)
S
[TD-58]  
slguan 已提交
6 7
ENDIF ()

S
slguan 已提交
8 9 10 11
IF (TD_ADMIN)
  ADD_DEFINITIONS(-D_ADMIN)
ENDIF ()

S
[TD-63]  
slguan 已提交
12 13 14 15
IF (TD_GRANT)
  ADD_DEFINITIONS(-D_GRANT)
ENDIF ()

S
TD-1310  
Shengliang Guan 已提交
16 17
IF (TD_MQTT)
  ADD_DEFINITIONS(-D_MQTT)
S
Shengliang Guan 已提交
18
ENDIF ()
S
Shengliang Guan 已提交
19

H
TD-1027  
Hongze Cheng 已提交
20 21
IF (TD_TSDB_PLUGINS)
  ADD_DEFINITIONS(-D_TSDB_PLUGINS)
S
TD-1310  
Shengliang Guan 已提交
22 23
ENDIF ()

S
TD-1767  
Shengliang Guan 已提交
24 25 26 27
IF (TD_STORAGE)
  ADD_DEFINITIONS(-D_STORAGE)
ENDIF ()

S
Shengliang Guan 已提交
28 29 30 31
IF (TD_TOPIC)
  ADD_DEFINITIONS(-D_TOPIC)
ENDIF ()

S
TD-3246  
Shengliang Guan 已提交
32 33 34 35
IF (TD_MODULE)
  ADD_DEFINITIONS(-D_MODULE)
ENDIF ()

S
[TD-58]  
slguan 已提交
36 37 38 39
IF (TD_GODLL)
  ADD_DEFINITIONS(-D_TD_GO_DLL_)
ENDIF ()

H
Hui Li 已提交
40 41
IF (TD_POWER)
  ADD_DEFINITIONS(-D_TD_POWER_)
H
Hui Li 已提交
42 43
ENDIF ()

S
[TD-58]  
slguan 已提交
44 45 46
IF (TD_MEM_CHECK)
  ADD_DEFINITIONS(-DTAOS_MEM_CHECK)
ENDIF ()
47 48 49 50

IF (TD_RANDOM_FILE_FAIL)
  ADD_DEFINITIONS(-DTAOS_RANDOM_FILE_FAIL)
ENDIF ()
51 52 53 54

IF (TD_RANDOM_NETWORK_FAIL)
  ADD_DEFINITIONS(-DTAOS_RANDOM_NETWORK_FAIL)
ENDIF ()
S
Shengliang Guan 已提交
55

S
Shengliang Guan 已提交
56 57 58
IF (TD_LINUX_64)
  ADD_DEFINITIONS(-D_M_X64)
  ADD_DEFINITIONS(-D_TD_LINUX_64)
S
TD-1530  
Shengliang Guan 已提交
59
  MESSAGE(STATUS "linux64 is defined")
60
  SET(COMMON_FLAGS "-std=gnu99 -Wall -Werror -fPIC -gdwarf-2 -msse4.2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE")
61
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
Shengliang Guan 已提交
62 63 64 65 66
ENDIF ()

IF (TD_LINUX_32)
  ADD_DEFINITIONS(-D_TD_LINUX_32)
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
67
  MESSAGE(STATUS "linux32 is defined")
68
  SET(COMMON_FLAGS "-std=gnu99 -Wall -Werror -fPIC -fsigned-char -munaligned-access -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE")
S
Shengliang Guan 已提交
69 70
ENDIF ()

S
TD-1057  
Shengliang Guan 已提交
71
IF (TD_ARM_64)
S
TD-1530  
Shengliang Guan 已提交
72
  ADD_DEFINITIONS(-D_TD_ARM_64)
S
Shengliang Guan 已提交
73
  ADD_DEFINITIONS(-D_TD_ARM_)
S
Shengliang Guan 已提交
74
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
75
  MESSAGE(STATUS "arm64 is defined")
76
  SET(COMMON_FLAGS "-std=gnu99 -Wall -Werror -fPIC -fsigned-char -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE")
S
Shengliang Guan 已提交
77 78
ENDIF ()

S
TD-1057  
Shengliang Guan 已提交
79
IF (TD_ARM_32)
S
TD-1530  
Shengliang Guan 已提交
80
  ADD_DEFINITIONS(-D_TD_ARM_32)
S
Shengliang Guan 已提交
81
  ADD_DEFINITIONS(-D_TD_ARM_)
S
TD-1530  
Shengliang Guan 已提交
82
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
83
  MESSAGE(STATUS "arm32 is defined")
84
  SET(COMMON_FLAGS "-std=gnu99 -Wall -Werror -fPIC -fsigned-char -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE -Wno-pointer-to-int-cast -Wno-int-to-pointer-cast -Wno-incompatible-pointer-types ")
S
TD-1057  
Shengliang Guan 已提交
85 86 87
ENDIF ()

IF (TD_MIPS_64)
88 89
  ADD_DEFINITIONS(-D_TD_MIPS_)
  ADD_DEFINITIONS(-D_TD_MIPS_64)
S
TD-1530  
Shengliang Guan 已提交
90
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
91
  MESSAGE(STATUS "mips64 is defined")
92
  SET(COMMON_FLAGS "-std=gnu99 -Wall -Werror -fPIC -fsigned-char -fpack-struct=8 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE")
S
TD-1057  
Shengliang Guan 已提交
93 94 95
ENDIF ()

IF (TD_MIPS_32)
96 97
  ADD_DEFINITIONS(-D_TD_MIPS_)
  ADD_DEFINITIONS(-D_TD_MIPS_32)
S
TD-1530  
Shengliang Guan 已提交
98
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
99
  MESSAGE(STATUS "mips32 is defined")
100
  SET(COMMON_FLAGS "-std=gnu99 -Wall -Werror -fPIC -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE")
S
Shengliang Guan 已提交
101 102
ENDIF ()

S
TD-1057  
Shengliang Guan 已提交
103 104 105 106
IF (TD_APLHINE)
  SET(COMMON_FLAGS "${COMMON_FLAGS} -largp")
  link_libraries(/usr/lib/libargp.a)
  ADD_DEFINITIONS(-D_ALPINE)
S
TD-1530  
Shengliang Guan 已提交
107
  MESSAGE(STATUS "aplhine is defined")
S
Shengliang Guan 已提交
108 109 110 111
ENDIF ()

IF (TD_LINUX)
  ADD_DEFINITIONS(-DLINUX)
S
TD-1057  
Shengliang Guan 已提交
112
  ADD_DEFINITIONS(-D_LINUX)
S
Shengliang Guan 已提交
113 114
  ADD_DEFINITIONS(-D_TD_LINUX)
  ADD_DEFINITIONS(-D_REENTRANT -D__USE_POSIX -D_LIBC_REENTRANT)
H
Hui Li 已提交
115 116

  IF (TD_NINGSI_60)
S
TD-1530  
Shengliang Guan 已提交
117
    ADD_DEFINITIONS(-D_TD_NINGSI_60)
H
Hui Li 已提交
118 119
    MESSAGE(STATUS "set ningsi macro to true")
  ENDIF ()
S
Shengliang Guan 已提交
120
  
S
TD-1853  
Shengliang Guan 已提交
121
  SET(DEBUG_FLAGS "-O0 -g3 -DDEBUG")
S
Shengliang Guan 已提交
122
  SET(RELEASE_FLAGS "-O3 -Wno-error")
S
Shengliang Guan 已提交
123 124 125 126 127 128 129
  
  IF (${COVER} MATCHES "true")
    MESSAGE(STATUS "Test coverage mode, add extra flags")
    SET(GCC_COVERAGE_COMPILE_FLAGS "-fprofile-arcs -ftest-coverage")
    SET(GCC_COVERAGE_LINK_FLAGS    "-lgcov --coverage")
    SET(COMMON_FLAGS "${COMMON_FLAGS} ${GCC_COVERAGE_COMPILE_FLAGS} ${GCC_COVERAGE_LINK_FLAGS}")
  ENDIF ()
S
TD-1057  
Shengliang Guan 已提交
130 131 132

  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/cJson/inc)
  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/lz4/inc)
S
Shengliang Guan 已提交
133 134 135 136 137 138 139
ENDIF ()

IF (TD_DARWIN_64)
  ADD_DEFINITIONS(-D_TD_DARWIN_64)
  ADD_DEFINITIONS(-DDARWIN)
  ADD_DEFINITIONS(-D_REENTRANT -D__USE_POSIX -D_LIBC_REENTRANT)
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
140
  MESSAGE(STATUS "darwin64 is defined")
141
  SET(COMMON_FLAGS "-std=gnu99 -Wall -Werror -Wno-missing-braces -fPIC -msse4.2 -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE")
S
TD-1853  
Shengliang Guan 已提交
142 143
  SET(DEBUG_FLAGS "-O0 -g3 -DDEBUG")
  SET(RELEASE_FLAGS "-Og")
144 145
  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/cJson/inc)
  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/lz4/inc)
S
Shengliang Guan 已提交
146 147 148 149 150 151 152 153 154 155
ENDIF ()

IF (TD_WINDOWS)
  ADD_DEFINITIONS(-DWINDOWS)
  ADD_DEFINITIONS(-D__CLEANUP_C)
  ADD_DEFINITIONS(-DPTW32_STATIC_LIB)
  ADD_DEFINITIONS(-DPTW32_BUILD)
  ADD_DEFINITIONS(-D_MBCS -D_CRT_SECURE_NO_DEPRECATE -D_CRT_NONSTDC_NO_DEPRECATE)
  SET(CMAKE_GENERATOR "NMake Makefiles" CACHE INTERNAL "" FORCE)
  IF (NOT TD_GODLL)
156
    SET(COMMON_FLAGS "/nologo /WX /wd4018 /wd2220 /Oi /Oy- /Gm- /EHsc /MT /GS /Gy /fp:precise /Zc:wchar_t /Zc:forScope /Gd /errorReport:prompt /analyze-")
157 158 159
    IF (MSVC AND (MSVC_VERSION GREATER_EQUAL 1900))
      SET(COMMON_FLAGS "${COMMON_FLAGS} /Wv:18")
    ENDIF ()
160
    SET(DEBUG_FLAGS "/fsanitize=thread /fsanitize=leak /fsanitize=memory /fsanitize=undefined /fsanitize=hwaddress /Zi /W3 /GL")
S
TD-1853  
Shengliang Guan 已提交
161
    SET(RELEASE_FLAGS "/W0 /O3 /GL")
S
Shengliang Guan 已提交
162
  ENDIF ()
S
TD-1057  
Shengliang Guan 已提交
163 164 165 166 167

  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/pthread)
  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/iconv)
  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/regex)
  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/wepoll/inc)
S
TD-1057  
Shengliang Guan 已提交
168
  INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/MsvcLibX/include)
S
Shengliang Guan 已提交
169 170 171 172 173 174
ENDIF () 

IF (TD_WINDOWS_64)
  ADD_DEFINITIONS(-D_M_X64)
  ADD_DEFINITIONS(-D_TD_WINDOWS_64)
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
175
  MESSAGE(STATUS "windows64 is defined")
S
Shengliang Guan 已提交
176 177 178 179
ENDIF ()

IF (TD_WINDOWS_32)
  ADD_DEFINITIONS(-D_TD_WINDOWS_32)
180
  ADD_DEFINITIONS(-DUSE_LIBICONV)
S
TD-1530  
Shengliang Guan 已提交
181
  MESSAGE(STATUS "windows32 is defined")
S
Shengliang Guan 已提交
182 183
ENDIF ()

S
TD-1057  
Shengliang Guan 已提交
184 185 186 187
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/os/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc)
INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/common/inc)
S
TD-1057  
Shengliang Guan 已提交
188 189

MESSAGE(STATUS "CMAKE_CXX_COMPILER_ID: " ${CMAKE_CXX_COMPILER_ID})