未验证 提交 856ba36a 编写于 作者: F freemine 提交者: GitHub

fix cmake issue for Apple M1 and homebrew (#12068)

* fix cmake issue for Apple M1 and homebrew

* fix compile problem: add missing /opt/homebrew/... for odbc
上级 225b3fcd
......@@ -39,14 +39,14 @@ IF (TD_DARWIN)
include(CheckSymbolExists)
# shall we revert CMAKE_REQUIRED_LIBRARIES and how?
set(CMAKE_REQUIRED_LIBRARIES odbc)
set(CMAKE_REQUIRED_INCLUDES /usr/local/include)
set(CMAKE_REQUIRED_LINK_OPTIONS -L/usr/local/lib)
set(CMAKE_REQUIRED_INCLUDES /usr/local/include /opt/homebrew/include)
set(CMAKE_REQUIRED_LINK_OPTIONS -L/usr/local/lib -L/opt/homebrew/lib)
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 macOS by typing: brew install unixodbc")
message(WARNING "unixodbc is not installed yet, you may install it under macOS by typing: brew install unixodbc")
else ()
message(STATUS "unixodbc/unixodbc-dev are installed, and odbc connector will be built")
message(STATUS "unixodbc is installed, and odbc connector will be built")
find_package(FLEX)
if(NOT FLEX_FOUND)
message(WARNING "you need to install flex first")
......
......@@ -7,8 +7,9 @@ IF (TD_LINUX OR TD_DARWIN)
ENDIF ()
IF (TD_DARWIN)
target_include_directories(tcodbc PRIVATE /usr/local/include)
target_link_directories(tcodbc PUBLIC /usr/local/lib)
# TODO: later we shall specify directories according to the specific target intel/arm64
target_include_directories(tcodbc PRIVATE /usr/local/include /opt/homebrew/include)
target_link_directories(tcodbc PUBLIC /usr/local/lib /opt/homebrew/lib)
ENDIF ()
IF (TD_WINDOWS_64)
......
......@@ -40,8 +40,9 @@ IF (TD_DARWIN)
SET_TARGET_PROPERTIES(todbc PROPERTIES VERSION ${TD_VER_NUMBER} SOVERSION 1)
TARGET_LINK_LIBRARIES(todbc todbc_base taos odbcinst)
target_include_directories(todbc PUBLIC .)
target_include_directories(todbc PRIVATE /usr/local/include)
target_link_directories(todbc PUBLIC /usr/local/lib)
# TODO: later we shall specify directories according to the specific target intel/arm64
target_include_directories(todbc PRIVATE /usr/local/include /opt/homebrew/include)
target_link_directories(todbc PUBLIC /usr/local/lib /opt/homebrew/lib)
install(CODE "execute_process(COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/install.sh ${CMAKE_BINARY_DIR})")
ENDIF ()
......
......@@ -5,6 +5,7 @@ aux_source_directory(. SRC)
add_library(todbc_base STATIC ${SRC})
if (TD_DARWIN)
target_include_directories(todbc_base PRIVATE /usr/local/include)
# TODO: later we shall specify directories according to the specific target intel/arm64
target_include_directories(todbc_base PRIVATE /usr/local/include /opt/homebrew/include)
endif ()
......@@ -8,10 +8,11 @@ IF (TD_LINUX OR TD_DARWIN)
ENDIF ()
IF (TD_DARWIN)
target_include_directories(todbcinst PRIVATE /usr/local/include)
target_link_directories(todbcinst PUBLIC /usr/local/lib)
target_include_directories(tconv PRIVATE /usr/local/include)
target_link_directories(tconv PUBLIC /usr/local/lib)
# TODO: later we shall specify directories according to the specific target intel/arm64
target_include_directories(todbcinst PRIVATE /usr/local/include /opt/homebrew/include)
target_link_directories(todbcinst PUBLIC /usr/local/lib /opt/homebrew/lib)
target_include_directories(tconv PRIVATE /usr/local/include /opt/homebrew/include)
target_link_directories(tconv PUBLIC /usr/local/lib /opt/homebrew/lib)
TARGET_LINK_LIBRARIES(tconv iconv)
ENDIF ()
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册