This is an automated email from the ASF dual-hosted git repository.
gangwu pushed a commit to branch branch-2.1
in repository https://gitbox.apache.org/repos/asf/orc.git
The following commit(s) were added to refs/heads/branch-2.1 by this push:
new 00656ea8d ORC-1833: [C++] Fix CMake script to be used inside another
project
00656ea8d is described below
commit 00656ea8d2470607225b657d4773c2dc19a6b7cf
Author: Gang Wu <[email protected]>
AuthorDate: Mon Jan 13 21:55:39 2025 +0800
ORC-1833: [C++] Fix CMake script to be used inside another project
### What changes were proposed in this pull request?
The change to add support for exporting CMake config and target has
introduced some minor issues when the ORC C++ library is used inside a larger
CMake project. Mainly there are three issues:
- We should prepend (not append) our CMake modules so we always use our own
modules when there are naming conflict.
- Do not use CMAKE_SOURCE_DIR and CMAKE_BINARY_DIR because they are tied to
the root project and it is no longer ORC project when we are inside another
project.
- Add orc_ prefix to our CMake functions to avoid potential conflict.
See: https://github.com/apache/arrow/pull/45226
### Why are the changes needed?
We had a problem with upgrading Apache ORC to 2.1.0 in the Apache Arrow.
See: https://github.com/apache/arrow/pull/45226
### How was this patch tested?
- Pass all CIs.
- Manually integrated it with Apache Arrow.
### Was this patch authored or co-authored using generative AI tooling?
No.
Closes #2108 from wgtmac/fix_cmake.
Authored-by: Gang Wu <[email protected]>
Signed-off-by: Gang Wu <[email protected]>
(cherry picked from commit 3eb423ae861d5bcf28fe365f985972aaa08eee35)
Signed-off-by: Gang Wu <[email protected]>
---
CMakeLists.txt | 12 ++++--
c++/src/CMakeLists.txt | 6 +--
c++/test/CMakeLists.txt | 6 +--
cmake_modules/CheckFormat.cmake | 10 ++---
cmake_modules/ThirdpartyToolchain.cmake | 76 ++++++++++++++++-----------------
tools/src/CMakeLists.txt | 8 ++--
tools/test/CMakeLists.txt | 10 ++---
7 files changed, 67 insertions(+), 61 deletions(-)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index e17aee620..ae061f58e 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -30,8 +30,8 @@ SET(CPACK_PACKAGE_VERSION_MAJOR "2")
SET(CPACK_PACKAGE_VERSION_MINOR "1")
SET(CPACK_PACKAGE_VERSION_PATCH "1-SNAPSHOT")
SET(ORC_VERSION
"${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
-set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH}
"${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules")
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # For clang-tidy.
+list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules")
option (BUILD_JAVA
"Include ORC Java library in the build process"
@@ -85,6 +85,10 @@ option(ORC_PACKAGE_KIND
"Arbitrary string that identifies the kind of package"
"")
+option(ORC_ENABLE_CLANG_TOOLS
+ "Enable Clang tools"
+ ON)
+
# Make sure that a build type is selected
if (NOT CMAKE_BUILD_TYPE)
message(STATUS "No build type selected, default to ReleaseWithDebugInfo")
@@ -195,7 +199,7 @@ if (BUILD_ENABLE_AVX512 AND NOT APPLE)
INCLUDE(ConfigSimdLevel)
endif ()
-set (EXAMPLE_DIRECTORY ${CMAKE_SOURCE_DIR}/examples)
+set (EXAMPLE_DIRECTORY ${PROJECT_SOURCE_DIR}/examples)
add_subdirectory(c++)
@@ -226,4 +230,6 @@ if (BUILD_CPP_TESTS)
endif ()
endif ()
-INCLUDE(CheckFormat)
+if (ORC_ENABLE_CLANG_TOOLS)
+ INCLUDE(CheckFormat)
+endif ()
diff --git a/c++/src/CMakeLists.txt b/c++/src/CMakeLists.txt
index 694667c06..e378429f1 100644
--- a/c++/src/CMakeLists.txt
+++ b/c++/src/CMakeLists.txt
@@ -218,11 +218,11 @@ target_include_directories (orc
INTERFACE
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
PUBLIC
- $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/c++/include>
- $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/c++/include>
+ $<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/c++/include>
+ $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/c++/include>
PRIVATE
- ${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}
${LIBHDFSPP_INCLUDE_DIR}
)
diff --git a/c++/test/CMakeLists.txt b/c++/test/CMakeLists.txt
index 6c5b26c4f..f7328abb3 100644
--- a/c++/test/CMakeLists.txt
+++ b/c++/test/CMakeLists.txt
@@ -19,9 +19,9 @@ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX17_FLAGS}
${WARN_FLAGS}")
add_library (orc-test-include INTERFACE)
target_include_directories (orc-test-include INTERFACE
- ${CMAKE_SOURCE_DIR}/c++/src
- ${CMAKE_BINARY_DIR}/c++/include
- ${CMAKE_BINARY_DIR}/c++/src
+ ${PROJECT_BINARY_DIR}/c++/include
+ ${PROJECT_BINARY_DIR}/c++/src
+ ${PROJECT_SOURCE_DIR}/c++/src
)
if(BUILD_ENABLE_AVX512)
diff --git a/cmake_modules/CheckFormat.cmake b/cmake_modules/CheckFormat.cmake
index 1aff5d765..17017da13 100644
--- a/cmake_modules/CheckFormat.cmake
+++ b/cmake_modules/CheckFormat.cmake
@@ -26,7 +26,7 @@ set(Python3_FIND_FRAMEWORK "LAST")
find_package(Python3)
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
-set(BUILD_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/c++/build-support")
+set(BUILD_SUPPORT_DIR "${PROJECT_SOURCE_DIR}/c++/build-support")
find_program(CLANG_FORMAT_BIN
NAMES clang-format-13
@@ -75,21 +75,21 @@ add_custom_target(check-clang-tidy
${PYTHON_EXECUTABLE}
${BUILD_SUPPORT_DIR}/run_clang_tidy.py # run LLVM's clang-tidy script
-clang-tidy-binary ${CLANG_TIDY_BIN} # using our clang-tidy binary
- -p ${CMAKE_BINARY_DIR} # using cmake's generated compile commands
+ -p ${PROJECT_BINARY_DIR} # using cmake's generated compile commands
)
add_custom_target(fix-clang-tidy
${PYTHON_EXECUTABLE}
${BUILD_SUPPORT_DIR}/run_clang_tidy.py # run LLVM's clang-tidy script
-clang-tidy-binary ${CLANG_TIDY_BIN} # using our clang-tidy binary
- -p ${CMAKE_BINARY_DIR} # using cmake's generated compile commands
+ -p ${PROJECT_BINARY_DIR} # using cmake's generated compile commands
-clang-apply-replacements-binary ${CLANG_APPLY_REPLACEMENTS_BIN} #
using our clang-apply-replacements binary
-fix # apply suggested changes generated by clang-tidy
)
string(CONCAT ORC_FORMAT_DIRS
- "${CMAKE_SOURCE_DIR}/c++,"
- "${CMAKE_SOURCE_DIR}/tools,"
+ "${PROJECT_SOURCE_DIR}/c++,"
+ "${PROJECT_SOURCE_DIR}/tools,"
)
add_custom_target(format
diff --git a/cmake_modules/ThirdpartyToolchain.cmake
b/cmake_modules/ThirdpartyToolchain.cmake
index 017e6c5b8..fa5a1c0e1 100644
--- a/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cmake_modules/ThirdpartyToolchain.cmake
@@ -37,7 +37,7 @@ option(ORC_PREFER_STATIC_GMOCK "Prefer static gmock
library, if available"
# zstd requires us to add the threads
FIND_PACKAGE(Threads REQUIRED)
-set(THIRDPARTY_DIR "${CMAKE_BINARY_DIR}/c++/libs/thirdparty")
+set(THIRDPARTY_DIR "${PROJECT_BINARY_DIR}/c++/libs/thirdparty")
set(THIRDPARTY_LOG_OPTIONS LOG_CONFIGURE 1
LOG_BUILD 1
LOG_INSTALL 1
@@ -103,13 +103,13 @@ endif ()
# ----------------------------------------------------------------------
# Macros for adding third-party libraries
-macro (add_resolved_library target_name link_lib include_dir)
- add_library (${target_name} INTERFACE IMPORTED)
+macro (orc_add_resolved_library target_name link_lib include_dir)
+ add_library (${target_name} INTERFACE IMPORTED GLOBAL)
target_link_libraries (${target_name} INTERFACE ${link_lib})
target_include_directories (${target_name} SYSTEM INTERFACE ${include_dir})
endmacro ()
-macro (add_built_library external_project_name target_name link_lib
include_dir)
+macro (orc_add_built_library external_project_name target_name link_lib
include_dir)
file (MAKE_DIRECTORY "${include_dir}")
add_library (${target_name} STATIC IMPORTED)
@@ -122,16 +122,16 @@ macro (add_built_library external_project_name
target_name link_lib include_dir)
endif ()
endmacro ()
-function(provide_cmake_module MODULE_NAME)
- set(module "${CMAKE_SOURCE_DIR}/cmake_modules/${MODULE_NAME}.cmake")
+function(orc_provide_cmake_module MODULE_NAME)
+ set(module "${PROJECT_SOURCE_DIR}/cmake_modules/${MODULE_NAME}.cmake")
if(EXISTS "${module}")
message(STATUS "Providing CMake module for ${MODULE_NAME} as part of CMake
package")
install(FILES "${module}" DESTINATION "${ORC_INSTALL_CMAKE_DIR}")
endif()
endfunction()
-function(provide_find_module PACKAGE_NAME)
- provide_cmake_module("Find${PACKAGE_NAME}")
+function(orc_provide_find_module PACKAGE_NAME)
+ orc_provide_cmake_module("Find${PACKAGE_NAME}")
endfunction()
# ----------------------------------------------------------------------
@@ -156,7 +156,7 @@ ExternalProject_Add (orc-format_ep
# Snappy
if (ORC_PACKAGE_KIND STREQUAL "conan")
find_package (Snappy REQUIRED CONFIG)
- add_resolved_library (orc_snappy ${Snappy_LIBRARIES} ${Snappy_INCLUDE_DIR})
+ orc_add_resolved_library (orc_snappy ${Snappy_LIBRARIES}
${Snappy_INCLUDE_DIR})
list (APPEND ORC_SYSTEM_DEPENDENCIES Snappy)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:Snappy::snappy>")
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -168,13 +168,13 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
elseif (NOT "${SNAPPY_HOME}" STREQUAL "")
find_package (Snappy REQUIRED)
if (ORC_PREFER_STATIC_SNAPPY AND SNAPPY_STATIC_LIB)
- add_resolved_library (orc_snappy ${SNAPPY_STATIC_LIB}
${SNAPPY_INCLUDE_DIR})
+ orc_add_resolved_library (orc_snappy ${SNAPPY_STATIC_LIB}
${SNAPPY_INCLUDE_DIR})
else ()
- add_resolved_library (orc_snappy ${SNAPPY_LIBRARY} ${SNAPPY_INCLUDE_DIR})
+ orc_add_resolved_library (orc_snappy ${SNAPPY_LIBRARY}
${SNAPPY_INCLUDE_DIR})
endif ()
list (APPEND ORC_SYSTEM_DEPENDENCIES Snappy)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:Snappy::snappy>")
- provide_find_module (Snappy)
+ orc_provide_find_module (Snappy)
else ()
set(SNAPPY_HOME "${THIRDPARTY_DIR}/snappy_ep-install")
set(SNAPPY_INCLUDE_DIR "${SNAPPY_HOME}/include")
@@ -194,7 +194,7 @@ else ()
${THIRDPARTY_LOG_OPTIONS}
BUILD_BYPRODUCTS "${SNAPPY_STATIC_LIB}")
- add_built_library (snappy_ep orc_snappy ${SNAPPY_STATIC_LIB}
${SNAPPY_INCLUDE_DIR})
+ orc_add_built_library (snappy_ep orc_snappy ${SNAPPY_STATIC_LIB}
${SNAPPY_INCLUDE_DIR})
list (APPEND ORC_VENDOR_DEPENDENCIES
"orc::vendored_snappy|${SNAPPY_STATIC_LIB_NAME}")
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:orc::vendored_snappy>")
@@ -207,7 +207,7 @@ add_library (orc::snappy ALIAS orc_snappy)
if (ORC_PACKAGE_KIND STREQUAL "conan")
find_package (ZLIB REQUIRED CONFIG)
- add_resolved_library (orc_zlib ${ZLIB_LIBRARIES} ${ZLIB_INCLUDE_DIR})
+ orc_add_resolved_library (orc_zlib ${ZLIB_LIBRARIES} ${ZLIB_INCLUDE_DIR})
list (APPEND ORC_SYSTEM_DEPENDENCIES ZLIB)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:ZLIB::ZLIB>")
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -219,13 +219,13 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
elseif (NOT "${ZLIB_HOME}" STREQUAL "")
find_package (ZLIB REQUIRED)
if (ORC_PREFER_STATIC_ZLIB AND ZLIB_STATIC_LIB)
- add_resolved_library (orc_zlib ${ZLIB_STATIC_LIB} ${ZLIB_INCLUDE_DIR})
+ orc_add_resolved_library (orc_zlib ${ZLIB_STATIC_LIB} ${ZLIB_INCLUDE_DIR})
else ()
- add_resolved_library (orc_zlib ${ZLIB_LIBRARY} ${ZLIB_INCLUDE_DIR})
+ orc_add_resolved_library (orc_zlib ${ZLIB_LIBRARY} ${ZLIB_INCLUDE_DIR})
endif ()
list (APPEND ORC_SYSTEM_DEPENDENCIES ZLIB)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:ZLIB::ZLIB>")
- provide_find_module (ZLIB)
+ orc_provide_find_module (ZLIB)
else ()
set(ZLIB_PREFIX "${THIRDPARTY_DIR}/zlib_ep-install")
set(ZLIB_INCLUDE_DIR "${ZLIB_PREFIX}/include")
@@ -252,7 +252,7 @@ else ()
${THIRDPARTY_LOG_OPTIONS}
BUILD_BYPRODUCTS "${ZLIB_STATIC_LIB}")
- add_built_library (zlib_ep orc_zlib ${ZLIB_STATIC_LIB} ${ZLIB_INCLUDE_DIR})
+ orc_add_built_library (zlib_ep orc_zlib ${ZLIB_STATIC_LIB}
${ZLIB_INCLUDE_DIR})
list (APPEND ORC_VENDOR_DEPENDENCIES
"orc::vendored_zlib|${ZLIB_STATIC_LIB_NAME}")
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:orc::vendored_zlib>")
@@ -265,7 +265,7 @@ add_library (orc::zlib ALIAS orc_zlib)
if (ORC_PACKAGE_KIND STREQUAL "conan")
find_package (ZSTD REQUIRED CONFIG)
- add_resolved_library (orc_zstd ${zstd_LIBRARIES} ${zstd_INCLUDE_DIR})
+ orc_add_resolved_library (orc_zstd ${zstd_LIBRARIES} ${zstd_INCLUDE_DIR})
list (APPEND ORC_SYSTEM_DEPENDENCIES ZSTD)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:$<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>>")
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -277,14 +277,14 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
elseif (NOT "${ZSTD_HOME}" STREQUAL "")
find_package (ZSTD REQUIRED)
if (ORC_PREFER_STATIC_ZSTD AND ZSTD_STATIC_LIB)
- add_resolved_library (orc_zstd ${ZSTD_STATIC_LIB} ${ZSTD_INCLUDE_DIR})
+ orc_add_resolved_library (orc_zstd ${ZSTD_STATIC_LIB} ${ZSTD_INCLUDE_DIR})
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:zstd::libzstd_static>")
else ()
- add_resolved_library (orc_zstd ${ZSTD_LIBRARY} ${ZSTD_INCLUDE_DIR})
+ orc_add_resolved_library (orc_zstd ${ZSTD_LIBRARY} ${ZSTD_INCLUDE_DIR})
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:$<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>>")
endif ()
list (APPEND ORC_SYSTEM_DEPENDENCIES ZSTD)
- provide_find_module (ZSTD)
+ orc_provide_find_module (ZSTD)
else ()
set(ZSTD_HOME "${THIRDPARTY_DIR}/zstd_ep-install")
set(ZSTD_INCLUDE_DIR "${ZSTD_HOME}/include")
@@ -318,7 +318,7 @@ else ()
${THIRDPARTY_LOG_OPTIONS}
BUILD_BYPRODUCTS ${ZSTD_STATIC_LIB})
- add_built_library (zstd_ep orc_zstd ${ZSTD_STATIC_LIB} ${ZSTD_INCLUDE_DIR})
+ orc_add_built_library (zstd_ep orc_zstd ${ZSTD_STATIC_LIB}
${ZSTD_INCLUDE_DIR})
list (APPEND ORC_VENDOR_DEPENDENCIES
"orc::vendored_zstd|${ZSTD_STATIC_LIB_NAME}")
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:orc::vendored_zstd>")
@@ -330,7 +330,7 @@ add_library (orc::zstd ALIAS orc_zstd)
# LZ4
if (ORC_PACKAGE_KIND STREQUAL "conan")
find_package (LZ4 REQUIRED CONFIG)
- add_resolved_library (orc_lz4 ${lz4_LIBRARIES} ${lz4_INCLUDE_DIR})
+ orc_add_resolved_library (orc_lz4 ${lz4_LIBRARIES} ${lz4_INCLUDE_DIR})
list (APPEND ORC_SYSTEM_DEPENDENCIES LZ4)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:LZ4::lz4>")
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -342,13 +342,13 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
elseif (NOT "${LZ4_HOME}" STREQUAL "")
find_package (LZ4 REQUIRED)
if (ORC_PREFER_STATIC_LZ4 AND LZ4_STATIC_LIB)
- add_resolved_library (orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
+ orc_add_resolved_library (orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
else ()
- add_resolved_library (orc_lz4 ${LZ4_LIBRARY} ${LZ4_INCLUDE_DIR})
+ orc_add_resolved_library (orc_lz4 ${LZ4_LIBRARY} ${LZ4_INCLUDE_DIR})
endif ()
list (APPEND ORC_SYSTEM_DEPENDENCIES LZ4)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:LZ4::lz4>")
- provide_find_module (LZ4)
+ orc_provide_find_module (LZ4)
else ()
set(LZ4_PREFIX "${THIRDPARTY_DIR}/lz4_ep-install")
set(LZ4_INCLUDE_DIR "${LZ4_PREFIX}/include")
@@ -375,7 +375,7 @@ else ()
${THIRDPARTY_LOG_OPTIONS}
BUILD_BYPRODUCTS ${LZ4_STATIC_LIB})
- add_built_library (lz4_ep orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
+ orc_add_built_library (lz4_ep orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
list (APPEND ORC_VENDOR_DEPENDENCIES
"orc::vendored_lz4|${LZ4_STATIC_LIB_NAME}")
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:orc::vendored_lz4>")
@@ -491,7 +491,7 @@ endif ()
if (ORC_PACKAGE_KIND STREQUAL "conan")
find_package (Protobuf REQUIRED CONFIG)
- add_resolved_library (orc_protobuf ${protobuf_LIBRARIES}
${protobuf_INCLUDE_DIR})
+ orc_add_resolved_library (orc_protobuf ${protobuf_LIBRARIES}
${protobuf_INCLUDE_DIR})
list (APPEND ORC_SYSTEM_DEPENDENCIES Protobuf)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:protobuf::libprotobuf>")
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -505,20 +505,20 @@ elseif (NOT "${PROTOBUF_HOME}" STREQUAL "")
find_package (Protobuf REQUIRED)
if (ORC_PREFER_STATIC_PROTOBUF AND PROTOBUF_STATIC_LIB)
- add_resolved_library (orc_protobuf ${PROTOBUF_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
+ orc_add_resolved_library (orc_protobuf ${PROTOBUF_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
else ()
- add_resolved_library (orc_protobuf ${PROTOBUF_LIBRARY}
${PROTOBUF_INCLUDE_DIR})
+ orc_add_resolved_library (orc_protobuf ${PROTOBUF_LIBRARY}
${PROTOBUF_INCLUDE_DIR})
endif ()
if (ORC_PREFER_STATIC_PROTOBUF AND PROTOC_STATIC_LIB)
- add_resolved_library (orc_protoc ${PROTOC_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
+ orc_add_resolved_library (orc_protoc ${PROTOC_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
else ()
- add_resolved_library (orc_protoc ${PROTOC_LIBRARY} ${PROTOBUF_INCLUDE_DIR})
+ orc_add_resolved_library (orc_protoc ${PROTOC_LIBRARY}
${PROTOBUF_INCLUDE_DIR})
endif ()
list (APPEND ORC_SYSTEM_DEPENDENCIES Protobuf)
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:protobuf::libprotobuf>")
- provide_find_module (Protobuf)
+ orc_provide_find_module (Protobuf)
else ()
set(PROTOBUF_PREFIX "${THIRDPARTY_DIR}/protobuf_ep-install")
set(PROTOBUF_INCLUDE_DIR "${PROTOBUF_PREFIX}/include")
@@ -556,8 +556,8 @@ else ()
${THIRDPARTY_LOG_OPTIONS}
BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" "${PROTOC_STATIC_LIB}")
- add_built_library (protobuf_ep orc_protobuf ${PROTOBUF_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
- add_built_library (protobuf_ep orc_protoc ${PROTOC_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
+ orc_add_built_library (protobuf_ep orc_protobuf ${PROTOBUF_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
+ orc_add_built_library (protobuf_ep orc_protoc ${PROTOC_STATIC_LIB}
${PROTOBUF_INCLUDE_DIR})
list (APPEND ORC_VENDOR_DEPENDENCIES
"orc::vendored_protobuf|${PROTOBUF_STATIC_LIB_NAME}")
list (APPEND ORC_INSTALL_INTERFACE_TARGETS
"$<INSTALL_INTERFACE:orc::vendored_protobuf>")
@@ -583,7 +583,7 @@ if(BUILD_LIBHDFSPP)
set (LIBHDFSPP_INCLUDE_DIR "${LIBHDFSPP_PREFIX}/include")
set (LIBHDFSPP_STATIC_LIB_NAME hdfspp_static)
set (LIBHDFSPP_STATIC_LIB
"${LIBHDFSPP_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${LIBHDFSPP_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}")
- set (LIBHDFSPP_SRC_URL
"${CMAKE_SOURCE_DIR}/c++/libs/libhdfspp/libhdfspp.tar.gz")
+ set (LIBHDFSPP_SRC_URL
"${PROJECT_SOURCE_DIR}/c++/libs/libhdfspp/libhdfspp.tar.gz")
set (LIBHDFSPP_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
-DCMAKE_INSTALL_PREFIX=${LIBHDFSPP_PREFIX}
-DPROTOBUF_INCLUDE_DIR=${PROTOBUF_INCLUDE_DIR}
@@ -610,7 +610,7 @@ if(BUILD_LIBHDFSPP)
BUILD_BYPRODUCTS "${LIBHDFSPP_STATIC_LIB}"
CMAKE_ARGS ${LIBHDFSPP_CMAKE_ARGS})
- add_built_library(libhdfspp_ep libhdfspp ${LIBHDFSPP_STATIC_LIB}
${LIBHDFSPP_INCLUDE_DIR})
+ orc_add_built_library(libhdfspp_ep libhdfspp ${LIBHDFSPP_STATIC_LIB}
${LIBHDFSPP_INCLUDE_DIR})
set (LIBHDFSPP_LIBRARIES
libhdfspp
diff --git a/tools/src/CMakeLists.txt b/tools/src/CMakeLists.txt
index 32d6eee3d..d247f900e 100644
--- a/tools/src/CMakeLists.txt
+++ b/tools/src/CMakeLists.txt
@@ -38,10 +38,10 @@ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g ${CXX17_FLAGS}
${WARN_FLAGS}")
add_library (orc-tools-common INTERFACE)
target_include_directories (orc-tools-common INTERFACE
- ${CMAKE_SOURCE_DIR}/c++/include
- ${CMAKE_BINARY_DIR}/c++/include
- ${CMAKE_SOURCE_DIR}/c++/src
- ${CMAKE_BINARY_DIR}/c++/src
+ ${PROJECT_BINARY_DIR}/c++/include
+ ${PROJECT_BINARY_DIR}/c++/src
+ ${PROJECT_SOURCE_DIR}/c++/include
+ ${PROJECT_SOURCE_DIR}/c++/src
)
target_link_libraries (orc-tools-common INTERFACE
orc
diff --git a/tools/test/CMakeLists.txt b/tools/test/CMakeLists.txt
index 6e0c6b20b..ed67b4007 100644
--- a/tools/test/CMakeLists.txt
+++ b/tools/test/CMakeLists.txt
@@ -38,11 +38,11 @@ target_link_libraries (tool-test
)
target_include_directories(tool-test PRIVATE
- ${CMAKE_SOURCE_DIR}/c++/include
- ${CMAKE_SOURCE_DIR}/c++/src
- ${CMAKE_SOURCE_DIR}/tools-c++/src
- ${CMAKE_BINARY_DIR}/c++/include
- ${CMAKE_BINARY_DIR}/c++/src
+ ${PROJECT_BINARY_DIR}/c++/include
+ ${PROJECT_BINARY_DIR}/c++/src
+ ${PROJECT_SOURCE_DIR}/c++/include
+ ${PROJECT_SOURCE_DIR}/c++/src
+ ${PROJECT_SOURCE_DIR}/tools-c++/src
)
add_dependencies(tool-test tool-set)