CMAKE_MINIMUM_REQUIRED(VERSION 2.8) PROJECT(TDengine) INCLUDE_DIRECTORIES(${TD_OS_DIR}/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/src/util/inc) IF ((TD_LINUX_64) OR (TD_LINUX_32 AND TD_ARM)) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/cJson/inc) INCLUDE_DIRECTORIES(${TD_COMMUNITY_DIR}/deps/lz4/inc) AUX_SOURCE_DIRECTORY(src SRC) ADD_LIBRARY(tutil ${SRC}) TARGET_LINK_LIBRARIES(tutil pthread os m rt) FIND_PATH(ICONV_INCLUDE_EXIST iconv.h /usr/include/ /usr/local/include/) IF (ICONV_INCLUDE_EXIST) ADD_DEFINITIONS(-DUSE_LIBICONV) FIND_PATH(ICONV_LIBRARY_A_EXIST libiconv.a /usr/lib/ /usr/local/lib/ /lib64) FIND_PATH(ICONV_LIBRARY_SO_EXIST libiconv.so /usr/lib/ /usr/local/lib/ /lib64) IF (ICONV_LIBRARY_A_EXIST OR ICONV_LIBRARY_SO_EXIST) MESSAGE(STATUS "Use the installed libiconv library") TARGET_LINK_LIBRARIES(tutil iconv) ELSE () # libiconv library is already included in GLIBC, MESSAGE(STATUS "Use the iconv functions in GLIBC") ENDIF () ELSE () MESSAGE(STATUS "Failed to find iconv, use default encoding method") ENDIF () ADD_SUBDIRECTORY(tests) ELSEIF (TD_WINDOWS_64) ADD_DEFINITIONS(-DUSE_LIBICONV) 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}/src/inc) LIST(APPEND SRC ./src/hash.c) LIST(APPEND SRC ./src/ihash.c) LIST(APPEND SRC ./src/lz4.c) LIST(APPEND SRC ./src/shash.c) LIST(APPEND SRC ./src/tbase64.c) LIST(APPEND SRC ./src/tcache.c) LIST(APPEND SRC ./src/tcompression.c) LIST(APPEND SRC ./src/textbuffer.c) LIST(APPEND SRC ./src/tglobalcfg.c) LIST(APPEND SRC ./src/thash.c) LIST(APPEND SRC ./src/thashutil.c) LIST(APPEND SRC ./src/thistogram.c) LIST(APPEND SRC ./src/tidpool.c) LIST(APPEND SRC ./src/tinterpolation.c) LIST(APPEND SRC ./src/tlog.c) LIST(APPEND SRC ./src/tlosertree.c) LIST(APPEND SRC ./src/tmd5.c) LIST(APPEND SRC ./src/tmem.c) LIST(APPEND SRC ./src/tmempool.c) LIST(APPEND SRC ./src/tmodule.c) LIST(APPEND SRC ./src/tnote.c) LIST(APPEND SRC ./src/tpercentile.c) LIST(APPEND SRC ./src/tsched.c) LIST(APPEND SRC ./src/tskiplist.c) LIST(APPEND SRC ./src/tsocket.c) LIST(APPEND SRC ./src/tstrbuild.c) LIST(APPEND SRC ./src/ttime.c) LIST(APPEND SRC ./src/ttimer.c) LIST(APPEND SRC ./src/ttokenizer.c) LIST(APPEND SRC ./src/ttypes.c) LIST(APPEND SRC ./src/tutil.c) LIST(APPEND SRC ./src/version.c) ADD_LIBRARY(tutil ${SRC}) TARGET_LINK_LIBRARIES(tutil iconv regex pthread os winmm IPHLPAPI ws2_32) ELSEIF(TD_DARWIN_64) ADD_DEFINITIONS(-DUSE_LIBICONV) LIST(APPEND SRC ./src/hash.c) LIST(APPEND SRC ./src/ihash.c) LIST(APPEND SRC ./src/lz4.c) LIST(APPEND SRC ./src/shash.c) LIST(APPEND SRC ./src/tbase64.c) LIST(APPEND SRC ./src/tcache.c) LIST(APPEND SRC ./src/tcompression.c) LIST(APPEND SRC ./src/textbuffer.c) LIST(APPEND SRC ./src/tglobalcfg.c) LIST(APPEND SRC ./src/thash.c) LIST(APPEND SRC ./src/thashutil.c) LIST(APPEND SRC ./src/thistogram.c) LIST(APPEND SRC ./src/tidpool.c) LIST(APPEND SRC ./src/tinterpolation.c) LIST(APPEND SRC ./src/tlog.c) LIST(APPEND SRC ./src/tlosertree.c) LIST(APPEND SRC ./src/tmd5.c) LIST(APPEND SRC ./src/tmem.c) LIST(APPEND SRC ./src/tmempool.c) LIST(APPEND SRC ./src/tmodule.c) LIST(APPEND SRC ./src/tnote.c) LIST(APPEND SRC ./src/tpercentile.c) LIST(APPEND SRC ./src/tsched.c) LIST(APPEND SRC ./src/tskiplist.c) LIST(APPEND SRC ./src/tsocket.c) LIST(APPEND SRC ./src/tstrbuild.c) LIST(APPEND SRC ./src/ttime.c) LIST(APPEND SRC ./src/ttimer.c) LIST(APPEND SRC ./src/ttokenizer.c) LIST(APPEND SRC ./src/ttypes.c) LIST(APPEND SRC ./src/tutil.c) LIST(APPEND SRC ./src/version.c) LIST(APPEND SRC ./src/hash.c) ADD_LIBRARY(tutil ${SRC}) TARGET_LINK_LIBRARIES(tutil iconv pthread os) ENDIF() #IF (TD_CLUSTER) # TARGET_LINK_LIBRARIES(tutil mstorage) #ENDIF ()