Skip to content

Commit 00656ea

Browse files
committed
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: apache/arrow#45226 ### Why are the changes needed? We had a problem with upgrading Apache ORC to 2.1.0 in the Apache Arrow. See: apache/arrow#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 <ustcwg@gmail.com> Signed-off-by: Gang Wu <ustcwg@gmail.com> (cherry picked from commit 3eb423a) Signed-off-by: Gang Wu <ustcwg@gmail.com>
1 parent e6f4e6a commit 00656ea

File tree

7 files changed

+67
-61
lines changed

7 files changed

+67
-61
lines changed

CMakeLists.txt

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ SET(CPACK_PACKAGE_VERSION_MAJOR "2")
3030
SET(CPACK_PACKAGE_VERSION_MINOR "1")
3131
SET(CPACK_PACKAGE_VERSION_PATCH "1-SNAPSHOT")
3232
SET(ORC_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
33-
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules")
3433
set(CMAKE_EXPORT_COMPILE_COMMANDS ON) # For clang-tidy.
34+
list(PREPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake_modules")
3535

3636
option (BUILD_JAVA
3737
"Include ORC Java library in the build process"
@@ -85,6 +85,10 @@ option(ORC_PACKAGE_KIND
8585
"Arbitrary string that identifies the kind of package"
8686
"")
8787

88+
option(ORC_ENABLE_CLANG_TOOLS
89+
"Enable Clang tools"
90+
ON)
91+
8892
# Make sure that a build type is selected
8993
if (NOT CMAKE_BUILD_TYPE)
9094
message(STATUS "No build type selected, default to ReleaseWithDebugInfo")
@@ -195,7 +199,7 @@ if (BUILD_ENABLE_AVX512 AND NOT APPLE)
195199
INCLUDE(ConfigSimdLevel)
196200
endif ()
197201

198-
set (EXAMPLE_DIRECTORY ${CMAKE_SOURCE_DIR}/examples)
202+
set (EXAMPLE_DIRECTORY ${PROJECT_SOURCE_DIR}/examples)
199203

200204
add_subdirectory(c++)
201205

@@ -226,4 +230,6 @@ if (BUILD_CPP_TESTS)
226230
endif ()
227231
endif ()
228232

229-
INCLUDE(CheckFormat)
233+
if (ORC_ENABLE_CLANG_TOOLS)
234+
INCLUDE(CheckFormat)
235+
endif ()

c++/src/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,11 +218,11 @@ target_include_directories (orc
218218
INTERFACE
219219
$<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>
220220
PUBLIC
221-
$<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/c++/include>
222-
$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}/c++/include>
221+
$<BUILD_INTERFACE:${PROJECT_BINARY_DIR}/c++/include>
222+
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/c++/include>
223223
PRIVATE
224-
${CMAKE_CURRENT_SOURCE_DIR}
225224
${CMAKE_CURRENT_BINARY_DIR}
225+
${CMAKE_CURRENT_SOURCE_DIR}
226226
${LIBHDFSPP_INCLUDE_DIR}
227227
)
228228

c++/test/CMakeLists.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXX17_FLAGS} ${WARN_FLAGS}")
1919

2020
add_library (orc-test-include INTERFACE)
2121
target_include_directories (orc-test-include INTERFACE
22-
${CMAKE_SOURCE_DIR}/c++/src
23-
${CMAKE_BINARY_DIR}/c++/include
24-
${CMAKE_BINARY_DIR}/c++/src
22+
${PROJECT_BINARY_DIR}/c++/include
23+
${PROJECT_BINARY_DIR}/c++/src
24+
${PROJECT_SOURCE_DIR}/c++/src
2525
)
2626

2727
if(BUILD_ENABLE_AVX512)

cmake_modules/CheckFormat.cmake

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ set(Python3_FIND_FRAMEWORK "LAST")
2626
find_package(Python3)
2727
set(PYTHON_EXECUTABLE ${Python3_EXECUTABLE})
2828

29-
set(BUILD_SUPPORT_DIR "${CMAKE_SOURCE_DIR}/c++/build-support")
29+
set(BUILD_SUPPORT_DIR "${PROJECT_SOURCE_DIR}/c++/build-support")
3030

3131
find_program(CLANG_FORMAT_BIN
3232
NAMES clang-format-13
@@ -75,21 +75,21 @@ add_custom_target(check-clang-tidy
7575
${PYTHON_EXECUTABLE}
7676
${BUILD_SUPPORT_DIR}/run_clang_tidy.py # run LLVM's clang-tidy script
7777
-clang-tidy-binary ${CLANG_TIDY_BIN} # using our clang-tidy binary
78-
-p ${CMAKE_BINARY_DIR} # using cmake's generated compile commands
78+
-p ${PROJECT_BINARY_DIR} # using cmake's generated compile commands
7979
)
8080

8181
add_custom_target(fix-clang-tidy
8282
${PYTHON_EXECUTABLE}
8383
${BUILD_SUPPORT_DIR}/run_clang_tidy.py # run LLVM's clang-tidy script
8484
-clang-tidy-binary ${CLANG_TIDY_BIN} # using our clang-tidy binary
85-
-p ${CMAKE_BINARY_DIR} # using cmake's generated compile commands
85+
-p ${PROJECT_BINARY_DIR} # using cmake's generated compile commands
8686
-clang-apply-replacements-binary ${CLANG_APPLY_REPLACEMENTS_BIN} # using our clang-apply-replacements binary
8787
-fix # apply suggested changes generated by clang-tidy
8888
)
8989

9090
string(CONCAT ORC_FORMAT_DIRS
91-
"${CMAKE_SOURCE_DIR}/c++,"
92-
"${CMAKE_SOURCE_DIR}/tools,"
91+
"${PROJECT_SOURCE_DIR}/c++,"
92+
"${PROJECT_SOURCE_DIR}/tools,"
9393
)
9494

9595
add_custom_target(format

cmake_modules/ThirdpartyToolchain.cmake

Lines changed: 38 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ option(ORC_PREFER_STATIC_GMOCK "Prefer static gmock library, if available"
3737
# zstd requires us to add the threads
3838
FIND_PACKAGE(Threads REQUIRED)
3939

40-
set(THIRDPARTY_DIR "${CMAKE_BINARY_DIR}/c++/libs/thirdparty")
40+
set(THIRDPARTY_DIR "${PROJECT_BINARY_DIR}/c++/libs/thirdparty")
4141
set(THIRDPARTY_LOG_OPTIONS LOG_CONFIGURE 1
4242
LOG_BUILD 1
4343
LOG_INSTALL 1
@@ -103,13 +103,13 @@ endif ()
103103

104104
# ----------------------------------------------------------------------
105105
# Macros for adding third-party libraries
106-
macro (add_resolved_library target_name link_lib include_dir)
107-
add_library (${target_name} INTERFACE IMPORTED)
106+
macro (orc_add_resolved_library target_name link_lib include_dir)
107+
add_library (${target_name} INTERFACE IMPORTED GLOBAL)
108108
target_link_libraries (${target_name} INTERFACE ${link_lib})
109109
target_include_directories (${target_name} SYSTEM INTERFACE ${include_dir})
110110
endmacro ()
111111

112-
macro (add_built_library external_project_name target_name link_lib include_dir)
112+
macro (orc_add_built_library external_project_name target_name link_lib include_dir)
113113
file (MAKE_DIRECTORY "${include_dir}")
114114

115115
add_library (${target_name} STATIC IMPORTED)
@@ -122,16 +122,16 @@ macro (add_built_library external_project_name target_name link_lib include_dir)
122122
endif ()
123123
endmacro ()
124124

125-
function(provide_cmake_module MODULE_NAME)
126-
set(module "${CMAKE_SOURCE_DIR}/cmake_modules/${MODULE_NAME}.cmake")
125+
function(orc_provide_cmake_module MODULE_NAME)
126+
set(module "${PROJECT_SOURCE_DIR}/cmake_modules/${MODULE_NAME}.cmake")
127127
if(EXISTS "${module}")
128128
message(STATUS "Providing CMake module for ${MODULE_NAME} as part of CMake package")
129129
install(FILES "${module}" DESTINATION "${ORC_INSTALL_CMAKE_DIR}")
130130
endif()
131131
endfunction()
132132

133-
function(provide_find_module PACKAGE_NAME)
134-
provide_cmake_module("Find${PACKAGE_NAME}")
133+
function(orc_provide_find_module PACKAGE_NAME)
134+
orc_provide_cmake_module("Find${PACKAGE_NAME}")
135135
endfunction()
136136

137137
# ----------------------------------------------------------------------
@@ -156,7 +156,7 @@ ExternalProject_Add (orc-format_ep
156156
# Snappy
157157
if (ORC_PACKAGE_KIND STREQUAL "conan")
158158
find_package (Snappy REQUIRED CONFIG)
159-
add_resolved_library (orc_snappy ${Snappy_LIBRARIES} ${Snappy_INCLUDE_DIR})
159+
orc_add_resolved_library (orc_snappy ${Snappy_LIBRARIES} ${Snappy_INCLUDE_DIR})
160160
list (APPEND ORC_SYSTEM_DEPENDENCIES Snappy)
161161
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:Snappy::snappy>")
162162
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -168,13 +168,13 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
168168
elseif (NOT "${SNAPPY_HOME}" STREQUAL "")
169169
find_package (Snappy REQUIRED)
170170
if (ORC_PREFER_STATIC_SNAPPY AND SNAPPY_STATIC_LIB)
171-
add_resolved_library (orc_snappy ${SNAPPY_STATIC_LIB} ${SNAPPY_INCLUDE_DIR})
171+
orc_add_resolved_library (orc_snappy ${SNAPPY_STATIC_LIB} ${SNAPPY_INCLUDE_DIR})
172172
else ()
173-
add_resolved_library (orc_snappy ${SNAPPY_LIBRARY} ${SNAPPY_INCLUDE_DIR})
173+
orc_add_resolved_library (orc_snappy ${SNAPPY_LIBRARY} ${SNAPPY_INCLUDE_DIR})
174174
endif ()
175175
list (APPEND ORC_SYSTEM_DEPENDENCIES Snappy)
176176
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:Snappy::snappy>")
177-
provide_find_module (Snappy)
177+
orc_provide_find_module (Snappy)
178178
else ()
179179
set(SNAPPY_HOME "${THIRDPARTY_DIR}/snappy_ep-install")
180180
set(SNAPPY_INCLUDE_DIR "${SNAPPY_HOME}/include")
@@ -194,7 +194,7 @@ else ()
194194
${THIRDPARTY_LOG_OPTIONS}
195195
BUILD_BYPRODUCTS "${SNAPPY_STATIC_LIB}")
196196

197-
add_built_library (snappy_ep orc_snappy ${SNAPPY_STATIC_LIB} ${SNAPPY_INCLUDE_DIR})
197+
orc_add_built_library (snappy_ep orc_snappy ${SNAPPY_STATIC_LIB} ${SNAPPY_INCLUDE_DIR})
198198

199199
list (APPEND ORC_VENDOR_DEPENDENCIES "orc::vendored_snappy|${SNAPPY_STATIC_LIB_NAME}")
200200
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:orc::vendored_snappy>")
@@ -207,7 +207,7 @@ add_library (orc::snappy ALIAS orc_snappy)
207207

208208
if (ORC_PACKAGE_KIND STREQUAL "conan")
209209
find_package (ZLIB REQUIRED CONFIG)
210-
add_resolved_library (orc_zlib ${ZLIB_LIBRARIES} ${ZLIB_INCLUDE_DIR})
210+
orc_add_resolved_library (orc_zlib ${ZLIB_LIBRARIES} ${ZLIB_INCLUDE_DIR})
211211
list (APPEND ORC_SYSTEM_DEPENDENCIES ZLIB)
212212
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:ZLIB::ZLIB>")
213213
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -219,13 +219,13 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
219219
elseif (NOT "${ZLIB_HOME}" STREQUAL "")
220220
find_package (ZLIB REQUIRED)
221221
if (ORC_PREFER_STATIC_ZLIB AND ZLIB_STATIC_LIB)
222-
add_resolved_library (orc_zlib ${ZLIB_STATIC_LIB} ${ZLIB_INCLUDE_DIR})
222+
orc_add_resolved_library (orc_zlib ${ZLIB_STATIC_LIB} ${ZLIB_INCLUDE_DIR})
223223
else ()
224-
add_resolved_library (orc_zlib ${ZLIB_LIBRARY} ${ZLIB_INCLUDE_DIR})
224+
orc_add_resolved_library (orc_zlib ${ZLIB_LIBRARY} ${ZLIB_INCLUDE_DIR})
225225
endif ()
226226
list (APPEND ORC_SYSTEM_DEPENDENCIES ZLIB)
227227
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:ZLIB::ZLIB>")
228-
provide_find_module (ZLIB)
228+
orc_provide_find_module (ZLIB)
229229
else ()
230230
set(ZLIB_PREFIX "${THIRDPARTY_DIR}/zlib_ep-install")
231231
set(ZLIB_INCLUDE_DIR "${ZLIB_PREFIX}/include")
@@ -252,7 +252,7 @@ else ()
252252
${THIRDPARTY_LOG_OPTIONS}
253253
BUILD_BYPRODUCTS "${ZLIB_STATIC_LIB}")
254254

255-
add_built_library (zlib_ep orc_zlib ${ZLIB_STATIC_LIB} ${ZLIB_INCLUDE_DIR})
255+
orc_add_built_library (zlib_ep orc_zlib ${ZLIB_STATIC_LIB} ${ZLIB_INCLUDE_DIR})
256256

257257
list (APPEND ORC_VENDOR_DEPENDENCIES "orc::vendored_zlib|${ZLIB_STATIC_LIB_NAME}")
258258
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:orc::vendored_zlib>")
@@ -265,7 +265,7 @@ add_library (orc::zlib ALIAS orc_zlib)
265265

266266
if (ORC_PACKAGE_KIND STREQUAL "conan")
267267
find_package (ZSTD REQUIRED CONFIG)
268-
add_resolved_library (orc_zstd ${zstd_LIBRARIES} ${zstd_INCLUDE_DIR})
268+
orc_add_resolved_library (orc_zstd ${zstd_LIBRARIES} ${zstd_INCLUDE_DIR})
269269
list (APPEND ORC_SYSTEM_DEPENDENCIES ZSTD)
270270
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:$<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>>")
271271
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -277,14 +277,14 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
277277
elseif (NOT "${ZSTD_HOME}" STREQUAL "")
278278
find_package (ZSTD REQUIRED)
279279
if (ORC_PREFER_STATIC_ZSTD AND ZSTD_STATIC_LIB)
280-
add_resolved_library (orc_zstd ${ZSTD_STATIC_LIB} ${ZSTD_INCLUDE_DIR})
280+
orc_add_resolved_library (orc_zstd ${ZSTD_STATIC_LIB} ${ZSTD_INCLUDE_DIR})
281281
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:zstd::libzstd_static>")
282282
else ()
283-
add_resolved_library (orc_zstd ${ZSTD_LIBRARY} ${ZSTD_INCLUDE_DIR})
283+
orc_add_resolved_library (orc_zstd ${ZSTD_LIBRARY} ${ZSTD_INCLUDE_DIR})
284284
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:$<IF:$<TARGET_EXISTS:zstd::libzstd_shared>,zstd::libzstd_shared,zstd::libzstd_static>>")
285285
endif ()
286286
list (APPEND ORC_SYSTEM_DEPENDENCIES ZSTD)
287-
provide_find_module (ZSTD)
287+
orc_provide_find_module (ZSTD)
288288
else ()
289289
set(ZSTD_HOME "${THIRDPARTY_DIR}/zstd_ep-install")
290290
set(ZSTD_INCLUDE_DIR "${ZSTD_HOME}/include")
@@ -318,7 +318,7 @@ else ()
318318
${THIRDPARTY_LOG_OPTIONS}
319319
BUILD_BYPRODUCTS ${ZSTD_STATIC_LIB})
320320

321-
add_built_library (zstd_ep orc_zstd ${ZSTD_STATIC_LIB} ${ZSTD_INCLUDE_DIR})
321+
orc_add_built_library (zstd_ep orc_zstd ${ZSTD_STATIC_LIB} ${ZSTD_INCLUDE_DIR})
322322

323323
list (APPEND ORC_VENDOR_DEPENDENCIES "orc::vendored_zstd|${ZSTD_STATIC_LIB_NAME}")
324324
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:orc::vendored_zstd>")
@@ -330,7 +330,7 @@ add_library (orc::zstd ALIAS orc_zstd)
330330
# LZ4
331331
if (ORC_PACKAGE_KIND STREQUAL "conan")
332332
find_package (LZ4 REQUIRED CONFIG)
333-
add_resolved_library (orc_lz4 ${lz4_LIBRARIES} ${lz4_INCLUDE_DIR})
333+
orc_add_resolved_library (orc_lz4 ${lz4_LIBRARIES} ${lz4_INCLUDE_DIR})
334334
list (APPEND ORC_SYSTEM_DEPENDENCIES LZ4)
335335
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:LZ4::lz4>")
336336
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -342,13 +342,13 @@ elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
342342
elseif (NOT "${LZ4_HOME}" STREQUAL "")
343343
find_package (LZ4 REQUIRED)
344344
if (ORC_PREFER_STATIC_LZ4 AND LZ4_STATIC_LIB)
345-
add_resolved_library (orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
345+
orc_add_resolved_library (orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
346346
else ()
347-
add_resolved_library (orc_lz4 ${LZ4_LIBRARY} ${LZ4_INCLUDE_DIR})
347+
orc_add_resolved_library (orc_lz4 ${LZ4_LIBRARY} ${LZ4_INCLUDE_DIR})
348348
endif ()
349349
list (APPEND ORC_SYSTEM_DEPENDENCIES LZ4)
350350
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:LZ4::lz4>")
351-
provide_find_module (LZ4)
351+
orc_provide_find_module (LZ4)
352352
else ()
353353
set(LZ4_PREFIX "${THIRDPARTY_DIR}/lz4_ep-install")
354354
set(LZ4_INCLUDE_DIR "${LZ4_PREFIX}/include")
@@ -375,7 +375,7 @@ else ()
375375
${THIRDPARTY_LOG_OPTIONS}
376376
BUILD_BYPRODUCTS ${LZ4_STATIC_LIB})
377377

378-
add_built_library (lz4_ep orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
378+
orc_add_built_library (lz4_ep orc_lz4 ${LZ4_STATIC_LIB} ${LZ4_INCLUDE_DIR})
379379

380380
list (APPEND ORC_VENDOR_DEPENDENCIES "orc::vendored_lz4|${LZ4_STATIC_LIB_NAME}")
381381
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:orc::vendored_lz4>")
@@ -491,7 +491,7 @@ endif ()
491491

492492
if (ORC_PACKAGE_KIND STREQUAL "conan")
493493
find_package (Protobuf REQUIRED CONFIG)
494-
add_resolved_library (orc_protobuf ${protobuf_LIBRARIES} ${protobuf_INCLUDE_DIR})
494+
orc_add_resolved_library (orc_protobuf ${protobuf_LIBRARIES} ${protobuf_INCLUDE_DIR})
495495
list (APPEND ORC_SYSTEM_DEPENDENCIES Protobuf)
496496
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:protobuf::libprotobuf>")
497497
elseif (ORC_PACKAGE_KIND STREQUAL "vcpkg")
@@ -505,20 +505,20 @@ elseif (NOT "${PROTOBUF_HOME}" STREQUAL "")
505505
find_package (Protobuf REQUIRED)
506506

507507
if (ORC_PREFER_STATIC_PROTOBUF AND PROTOBUF_STATIC_LIB)
508-
add_resolved_library (orc_protobuf ${PROTOBUF_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
508+
orc_add_resolved_library (orc_protobuf ${PROTOBUF_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
509509
else ()
510-
add_resolved_library (orc_protobuf ${PROTOBUF_LIBRARY} ${PROTOBUF_INCLUDE_DIR})
510+
orc_add_resolved_library (orc_protobuf ${PROTOBUF_LIBRARY} ${PROTOBUF_INCLUDE_DIR})
511511
endif ()
512512

513513
if (ORC_PREFER_STATIC_PROTOBUF AND PROTOC_STATIC_LIB)
514-
add_resolved_library (orc_protoc ${PROTOC_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
514+
orc_add_resolved_library (orc_protoc ${PROTOC_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
515515
else ()
516-
add_resolved_library (orc_protoc ${PROTOC_LIBRARY} ${PROTOBUF_INCLUDE_DIR})
516+
orc_add_resolved_library (orc_protoc ${PROTOC_LIBRARY} ${PROTOBUF_INCLUDE_DIR})
517517
endif ()
518518

519519
list (APPEND ORC_SYSTEM_DEPENDENCIES Protobuf)
520520
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:protobuf::libprotobuf>")
521-
provide_find_module (Protobuf)
521+
orc_provide_find_module (Protobuf)
522522
else ()
523523
set(PROTOBUF_PREFIX "${THIRDPARTY_DIR}/protobuf_ep-install")
524524
set(PROTOBUF_INCLUDE_DIR "${PROTOBUF_PREFIX}/include")
@@ -556,8 +556,8 @@ else ()
556556
${THIRDPARTY_LOG_OPTIONS}
557557
BUILD_BYPRODUCTS "${PROTOBUF_STATIC_LIB}" "${PROTOC_STATIC_LIB}")
558558

559-
add_built_library (protobuf_ep orc_protobuf ${PROTOBUF_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
560-
add_built_library (protobuf_ep orc_protoc ${PROTOC_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
559+
orc_add_built_library (protobuf_ep orc_protobuf ${PROTOBUF_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
560+
orc_add_built_library (protobuf_ep orc_protoc ${PROTOC_STATIC_LIB} ${PROTOBUF_INCLUDE_DIR})
561561

562562
list (APPEND ORC_VENDOR_DEPENDENCIES "orc::vendored_protobuf|${PROTOBUF_STATIC_LIB_NAME}")
563563
list (APPEND ORC_INSTALL_INTERFACE_TARGETS "$<INSTALL_INTERFACE:orc::vendored_protobuf>")
@@ -583,7 +583,7 @@ if(BUILD_LIBHDFSPP)
583583
set (LIBHDFSPP_INCLUDE_DIR "${LIBHDFSPP_PREFIX}/include")
584584
set (LIBHDFSPP_STATIC_LIB_NAME hdfspp_static)
585585
set (LIBHDFSPP_STATIC_LIB "${LIBHDFSPP_PREFIX}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}${LIBHDFSPP_STATIC_LIB_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX}")
586-
set (LIBHDFSPP_SRC_URL "${CMAKE_SOURCE_DIR}/c++/libs/libhdfspp/libhdfspp.tar.gz")
586+
set (LIBHDFSPP_SRC_URL "${PROJECT_SOURCE_DIR}/c++/libs/libhdfspp/libhdfspp.tar.gz")
587587
set (LIBHDFSPP_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
588588
-DCMAKE_INSTALL_PREFIX=${LIBHDFSPP_PREFIX}
589589
-DPROTOBUF_INCLUDE_DIR=${PROTOBUF_INCLUDE_DIR}
@@ -610,7 +610,7 @@ if(BUILD_LIBHDFSPP)
610610
BUILD_BYPRODUCTS "${LIBHDFSPP_STATIC_LIB}"
611611
CMAKE_ARGS ${LIBHDFSPP_CMAKE_ARGS})
612612

613-
add_built_library(libhdfspp_ep libhdfspp ${LIBHDFSPP_STATIC_LIB} ${LIBHDFSPP_INCLUDE_DIR})
613+
orc_add_built_library(libhdfspp_ep libhdfspp ${LIBHDFSPP_STATIC_LIB} ${LIBHDFSPP_INCLUDE_DIR})
614614

615615
set (LIBHDFSPP_LIBRARIES
616616
libhdfspp

tools/src/CMakeLists.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -38,10 +38,10 @@ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g ${CXX17_FLAGS} ${WARN_FLAGS}")
3838

3939
add_library (orc-tools-common INTERFACE)
4040
target_include_directories (orc-tools-common INTERFACE
41-
${CMAKE_SOURCE_DIR}/c++/include
42-
${CMAKE_BINARY_DIR}/c++/include
43-
${CMAKE_SOURCE_DIR}/c++/src
44-
${CMAKE_BINARY_DIR}/c++/src
41+
${PROJECT_BINARY_DIR}/c++/include
42+
${PROJECT_BINARY_DIR}/c++/src
43+
${PROJECT_SOURCE_DIR}/c++/include
44+
${PROJECT_SOURCE_DIR}/c++/src
4545
)
4646
target_link_libraries (orc-tools-common INTERFACE
4747
orc

tools/test/CMakeLists.txt

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -38,11 +38,11 @@ target_link_libraries (tool-test
3838
)
3939

4040
target_include_directories(tool-test PRIVATE
41-
${CMAKE_SOURCE_DIR}/c++/include
42-
${CMAKE_SOURCE_DIR}/c++/src
43-
${CMAKE_SOURCE_DIR}/tools-c++/src
44-
${CMAKE_BINARY_DIR}/c++/include
45-
${CMAKE_BINARY_DIR}/c++/src
41+
${PROJECT_BINARY_DIR}/c++/include
42+
${PROJECT_BINARY_DIR}/c++/src
43+
${PROJECT_SOURCE_DIR}/c++/include
44+
${PROJECT_SOURCE_DIR}/c++/src
45+
${PROJECT_SOURCE_DIR}/tools-c++/src
4646
)
4747

4848
add_dependencies(tool-test tool-set)

0 commit comments

Comments
 (0)