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)

Reply via email to