CMakeLists.txt 2.1 KB
Newer Older
1
CMAKE_MINIMUM_REQUIRED(VERSION 3.5)
F
freemine 已提交
2 3
PROJECT(TDengine)

4 5 6 7 8 9 10 11 12 13 14 15
IF (TD_LINUX_64)
  find_program(HAVE_ODBCINST NAMES odbcinst)
  IF (HAVE_ODBCINST)
    include(CheckSymbolExists)
    # shall we revert CMAKE_REQUIRED_LIBRARIES and how?
    set(CMAKE_REQUIRED_LIBRARIES odbc)
    check_symbol_exists(SQLExecute "sql.h" HAVE_ODBC_DEV)
    if(NOT (HAVE_ODBC_DEV))
      unset(HAVE_ODBC_DEV CACHE)
      message(WARNING "unixodbc-dev is not installed yet, you may install it under ubuntu by typing: sudo apt install unixodbc-dev")
    else ()
      message(STATUS "unixodbc/unixodbc-dev are installed, and odbc connector will be built")
16 17 18 19
      find_package(FLEX)
      if(NOT FLEX_FOUND)
        message(FATAL_ERROR "you need to install flex first")
      else ()
20 21 22 23 24 25 26 27 28
        if (CMAKE_C_COMPILER_ID STREQUAL "GNU" AND CMAKE_C_COMPILER_VERSION VERSION_LESS 5.0.0)
          message(WARNING "gcc 4.8.0 will complain too much about flex-generated code, we just bypass building ODBC driver in such case")
        else ()
          SET(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wconversion")
          SET(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wconversion")
          ADD_SUBDIRECTORY(src)
          ADD_SUBDIRECTORY(tools)
          ADD_SUBDIRECTORY(tests)
        endif ()
29
      endif()
30 31
    endif()
  ELSE ()
F
freemine 已提交
32
    message(WARNING "unixodbc is not installed yet, you may install it under ubuntu by typing: sudo apt install unixodbc")
33 34
  ENDIF ()
ENDIF ()
F
freemine 已提交
35

F
freemine 已提交
36
IF (TD_WINDOWS_64)
37 38 39 40 41 42 43 44
  find_package(ODBC)
  if (NOT ODBC_FOUND)
    message(FATAL_ERROR "you need to install ODBC first")
  else ()
    message(STATUS "ODBC_INCLUDE_DIRS: ${ODBC_INCLUDE_DIRS}")
    message(STATUS "ODBC_LIBRARIES: ${ODBC_LIBRARIES}")
    message(STATUS "ODBC_CONFIG: ${ODBC_CONFIG}")
  endif ()
F
freemine 已提交
45 46
  find_package(FLEX)
  if(NOT FLEX_FOUND)
47 48 49
    message(WARNING "you need to install flex first\n"
                    "you may go to: https://github.com/lexxmark/winflexbison\n"
                    "or download from: https://github.com/lexxmark/winflexbison/releases")
F
freemine 已提交
50 51
  else ()
    ADD_SUBDIRECTORY(src)
52
    ADD_SUBDIRECTORY(tools)
F
freemine 已提交
53 54 55
    ADD_SUBDIRECTORY(tests)
  endif()
ENDIF ()