kou commented on code in PR #34164:
URL: https://github.com/apache/arrow/pull/34164#discussion_r1573402648
##########
cpp/cmake_modules/ThirdpartyToolchain.cmake:
##########
@@ -4446,7 +4446,9 @@ macro(build_orc)
"-DPROTOBUF_LIBRARY=${ORC_PROTOBUF_LIBRARY}"
"-DPROTOC_LIBRARY=${ORC_PROTOBUF_LIBRARY}"
"-DLZ4_HOME=${ORC_LZ4_ROOT}"
- "-DZSTD_HOME=${ORZ_ZSTD_ROOT}")
+ "-DZSTD_HOME=${ORC_ZSTD_ROOT}"
+
"-DZSTD_INCLUDE_DIR=$<TARGET_PROPERTY:${ARROW_ZSTD_LIBZSTD},INTERFACE_INCLUDE_DIRECTORIES>"
Review Comment:
No problem!
It's for using with bundled Zstandard. If we use bundled Zstandard and
bundled Apache ORC, the bundled Zstandard isn't built yet when we run `cmake`
for the bundled Apache ORC. So the bundled Apache ORC can't detect the bundled
Zstandard's include directory and library path. Because they don't exist yet.
So we specify them here explicitly.
> I guess these definitions are not necessary to build Apache ORC.
Right.
> However, I have found `list(APPEND CMAKE_MODULE_PATH
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules")` in the cpp/CMakeLists.txt of
Apache Arrow. Does it mean that we have overridden the module path so Apache
ORC no longer finds package using the default FindXXX.cmake and these flags are
missing so we have to provide on our own?
The `list(...)` doesn't affect Apache ORC. Because `externaproject_add()`
uses separated `cmake` for each external project. `CMAKE_MODULE_PATH` in Apache
Arrow isn't used for external projects including bundled Apache ORC implicitly.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]