You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@arrow.apache.org by "Maarten Pronk (Jira)" <ji...@apache.org> on 2022/11/06 11:10:00 UTC
[jira] [Created] (ARROW-18256) [C++] External/shared libthrift requires IMPORTED_IMPLIB in FindThrift.cmake
Maarten Pronk created ARROW-18256:
-------------------------------------
Summary: [C++] External/shared libthrift requires IMPORTED_IMPLIB in FindThrift.cmake
Key: ARROW-18256
URL: https://issues.apache.org/jira/browse/ARROW-18256
Project: Apache Arrow
Issue Type: Bug
Components: C++
Affects Versions: 10.0.0
Reporter: Maarten Pronk
As mentioned in ARROW-18255, over at [https://github.com/JuliaPackaging/Yggdrasil/pull/5425,] we cross-compile Arrow to make it easily available within the Julia ecosystem.
When compiling with `DARROW_THRIFT_USE_SHARED=ON` and using an external libthrift, CMAKE warns with:
{quote}[12:00:54] CMake Warning (dev) in CMakeLists.txt:
[12:00:54] Policy CMP0111 is not set: An imported target missing its location property
[12:00:54] fails during generation. Run "cmake --help-policy CMP0111" for policy
[12:00:54] details. Use the cmake_policy command to set the policy and suppress this
[12:00:54] warning.
[12:00:54]
[12:00:54] IMPORTED_IMPLIB not set for imported target "thrift::thrift" configuration
[12:00:54] "RELEASE".
[12:00:54] This warning is for project developers. Use -Wno-dev to suppress it.
{quote}
This will lead to linking errors later on. I've fixed the warning with the following patch for v10.
{quote}{{diff --git a/cpp/cmake_modules/FindThrift.cmake b/cpp/cmake_modules/FindThrift.cmake}}
{{index 2f20a5cb5..2d1e728aa 100644}}
{{--- a/cpp/cmake_modules/FindThrift.cmake}}
{{+++ b/cpp/cmake_modules/FindThrift.cmake}}
{{@@ -146,6 +146,7 @@ if(Thrift_FOUND)}}
{{ endif()}}
{{ set_target_properties(thrift::thrift}}
{{ PROPERTIES IMPORTED_LOCATION "${THRIFT_LIB}"}}
{{+ IMPORTED_IMPLIB "${THRIFT_LIB}"}}
{{ INTERFACE_INCLUDE_DIRECTORIES "${THRIFT_INCLUDE_DIR}")}}
{{ if(WIN32 AND NOT MSVC_TOOLCHAIN)}}
{{ # We don't need this for Visual C++ because Thrift uses}}
{quote}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)