Skip to content

Commit 6feecfa

Browse files
committed
fix
Signed-off-by: Yuan <yuanzhou@apache.org>
1 parent 6528cbf commit 6feecfa

1 file changed

Lines changed: 25 additions & 6 deletions

File tree

cpp/velox/CMakeLists.txt

Lines changed: 25 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -384,12 +384,31 @@ else()
384384
endif()
385385
target_link_libraries(velox PUBLIC external::veloxthrift)
386386

387-
target_link_libraries(
388-
velox
389-
PRIVATE
390-
${VCPKG_INSTALLED_DIR}/x64-linux-avx/lib/libthriftcpp2.a
391-
${VCPKG_INSTALLED_DIR}/x64-linux-avx/lib/libthriftprotocol.a
392-
)
387+
# Link thrift libraries - check vcpkg first, then fall back to system libraries
388+
if(DEFINED VCPKG_INSTALLED_DIR AND EXISTS "${VCPKG_INSTALLED_DIR}/x64-linux-avx/lib/libthriftcpp2.a")
389+
message(STATUS "Using vcpkg thrift libraries from ${VCPKG_INSTALLED_DIR}")
390+
target_link_libraries(
391+
velox
392+
PRIVATE
393+
${VCPKG_INSTALLED_DIR}/x64-linux-avx/lib/libthriftcpp2.a
394+
${VCPKG_INSTALLED_DIR}/x64-linux-avx/lib/libthriftprotocol.a
395+
)
396+
else()
397+
message(STATUS "Using system thrift libraries from /usr/local/lib")
398+
find_library(THRIFTCPP2_LIB NAMES thriftcpp2 PATHS /usr/local/lib NO_DEFAULT_PATH)
399+
find_library(THRIFTPROTOCOL_LIB NAMES thriftprotocol PATHS /usr/local/lib NO_DEFAULT_PATH)
400+
401+
if(THRIFTCPP2_LIB AND THRIFTPROTOCOL_LIB)
402+
target_link_libraries(
403+
velox
404+
PRIVATE
405+
${THRIFTCPP2_LIB}
406+
${THRIFTPROTOCOL_LIB}
407+
)
408+
else()
409+
message(FATAL_ERROR "Could not find thrift libraries. Please install them or use vcpkg.")
410+
endif()
411+
endif()
393412

394413
find_package(simdjson CONFIG)
395414
if(simdjson_FOUND AND TARGET simdjson::simdjson)

0 commit comments

Comments
 (0)