Skip to content

Commit 71dc0c5

Browse files
committed
Fix CI
1 parent 4e6e2a7 commit 71dc0c5

3 files changed

Lines changed: 21 additions & 8 deletions

File tree

.github/workflows/cpp_odbc.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -27,12 +27,12 @@ on:
2727
paths:
2828
- '.github/workflows/cpp_odbc.yml'
2929
- 'ci/scripts/cpp_*'
30-
- 'cpp/src/arrow/flight/sql/odbc/*'
30+
- 'cpp/src/arrow/flight/sql/odbc/**'
3131
pull_request:
3232
paths:
3333
- '.github/workflows/cpp_odbc.yml'
3434
- 'ci/scripts/cpp_*'
35-
- 'cpp/src/arrow/flight/sql/odbc/*'
35+
- 'cpp/src/arrow/flight/sql/odbc/**'
3636
schedule:
3737
- cron: '0 13 * * *'
3838

@@ -195,6 +195,7 @@ jobs:
195195
ARROW_BUILD_TESTS: ON
196196
ARROW_FLIGHT_SQL_ODBC: ON
197197
ARROW_HOME: /tmp/local
198+
ARROW_CMAKE_ARGS: "-I${ODBC_INCLUDE_DIR:-}"
198199
steps:
199200
- name: Checkout Arrow
200201
uses: actions/checkout@v6.0.0
@@ -206,7 +207,6 @@ jobs:
206207
brew bundle --file=cpp/Brewfile
207208
export LIBIODBC_DIR="$(brew --cellar libiodbc)/$(brew list --versions libiodbc | awk '{print $2}')"
208209
echo ODBC_INCLUDE_DIR="$LIBIODBC_DIR/include" >> $GITHUB_ENV
209-
echo ODBC_LIB_DIR="$LIBIODBC_DIR/lib" >> $GITHUB_ENV
210210
- name: Setup ccache
211211
run: |
212212
ci/scripts/ccache_setup.sh
@@ -231,12 +231,12 @@ jobs:
231231
# include path. So we disable -Werror to avoid build error
232232
# by warnings from packages installed by Homebrew.
233233
export BUILD_WARNING_LEVEL=PRODUCTION
234-
ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
234+
bash ci/scripts/cpp_build.sh $(pwd) $(pwd)/build
235235
- name: Register Flight SQL ODBC Driver
236236
run: |
237237
chmod +x cpp/src/arrow/flight/sql/odbc/install/mac/install_odbc.sh
238238
sudo cpp/src/arrow/flight/sql/odbc/install/mac/install_odbc.sh $(pwd)/build/cpp/debug/libarrow_flight_sql_odbc.dylib
239239
- name: Test
240240
shell: bash
241241
run: |
242-
ci/scripts/cpp_test.sh $(pwd) $(pwd)/build
242+
bash ci/scripts/cpp_test.sh $(pwd) $(pwd)/build

ci/scripts/cpp_build.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -260,7 +260,7 @@ else
260260
-DCMAKE_BUILD_TYPE=${ARROW_BUILD_TYPE:-debug} \
261261
-DCMAKE_VERBOSE_MAKEFILE=${CMAKE_VERBOSE_MAKEFILE:-OFF} \
262262
-DCMAKE_C_FLAGS="${CFLAGS:-}" \
263-
-DCMAKE_CXX_FLAGS="${CXXFLAGS:-} -I${ODBC_INCLUDE_DIR:-} -L${ODBC_LIB_DIR:-}" \
263+
-DCMAKE_CXX_FLAGS="${CXXFLAGS:-}" \
264264
-DCMAKE_CXX_STANDARD="${CMAKE_CXX_STANDARD:-20}" \
265265
-DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR:-lib} \
266266
-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX:-${ARROW_HOME}} \

cpp/src/arrow/flight/sql/odbc/odbc_impl/CMakeLists.txt

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -129,9 +129,22 @@ if(WIN32)
129129
system_dsn.h)
130130
endif()
131131

132+
if(APPLE)
133+
# iODBC from Homebrew (Intel + ARM)
134+
target_include_directories(arrow_odbc_spi_impl SYSTEM BEFORE PUBLIC ${ODBC_INCLUDE_DIR})
135+
136+
target_link_libraries(arrow_odbc_spi_impl
137+
PUBLIC arrow_flight_sql_shared arrow_compute_shared Boost::locale iodbc)
138+
else()
139+
find_package(ODBC REQUIRED)
140+
target_include_directories(arrow_odbc_spi_impl PUBLIC ${ODBC_INCLUDE_DIR})
141+
target_link_libraries(arrow_odbc_spi_impl
142+
PUBLIC arrow_flight_sql_shared arrow_compute_shared Boost::locale
143+
${ODBC_LIBRARIES})
144+
endif()
145+
132146
target_link_libraries(arrow_odbc_spi_impl
133-
PUBLIC arrow_flight_sql_shared arrow_compute_shared Boost::locale
134-
${ODBCINST})
147+
PUBLIC arrow_flight_sql_shared arrow_compute_shared Boost::locale)
135148

136149
set_target_properties(arrow_odbc_spi_impl
137150
PROPERTIES ARCHIVE_OUTPUT_DIRECTORY

0 commit comments

Comments
 (0)