Skip to content

Commit 2039eda

Browse files
sfc-gh-hyukou
authored andcommitted
ARROW-15782: [C++] Fix Findre2Alt.cmake to check RE2_ROOT variable first
Closes apache#12513 from sfc-gh-hyu/hyu-fix-findre2 Authored-by: Haowei Yu <haowei.yu@snowflake.com> Signed-off-by: Sutou Kouhei <kou@clear-code.com>
1 parent 13045f4 commit 2039eda

File tree

1 file changed

+33
-31
lines changed

1 file changed

+33
-31
lines changed

cpp/cmake_modules/Findre2Alt.cmake

Lines changed: 33 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -28,28 +28,7 @@ if(re2_FOUND)
2828
return()
2929
endif()
3030

31-
find_package(PkgConfig QUIET)
32-
pkg_check_modules(RE2_PC re2)
33-
if(RE2_PC_FOUND)
34-
set(RE2_INCLUDE_DIR "${RE2_PC_INCLUDEDIR}")
35-
36-
list(APPEND RE2_PC_LIBRARY_DIRS "${RE2_PC_LIBDIR}")
37-
find_library(RE2_LIB re2
38-
PATHS ${RE2_PC_LIBRARY_DIRS}
39-
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}
40-
NO_DEFAULT_PATH)
41-
42-
# On Fedora, the reported prefix is wrong. As users likely run into this,
43-
# workaround.
44-
# https://bugzilla.redhat.com/show_bug.cgi?id=1652589
45-
if(UNIX
46-
AND NOT APPLE
47-
AND NOT RE2_LIB)
48-
if(RE2_PC_PREFIX STREQUAL "/usr/local")
49-
find_library(RE2_LIB re2)
50-
endif()
51-
endif()
52-
elseif(RE2_ROOT)
31+
if(RE2_ROOT)
5332
find_library(RE2_LIB
5433
NAMES re2_static
5534
re2
@@ -64,15 +43,38 @@ elseif(RE2_ROOT)
6443
NO_DEFAULT_PATH
6544
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES})
6645
else()
67-
find_library(RE2_LIB
68-
NAMES re2_static
69-
re2
70-
"${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}"
71-
"${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}"
72-
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES})
73-
find_path(RE2_INCLUDE_DIR
74-
NAMES re2/re2.h
75-
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES})
46+
find_package(PkgConfig QUIET)
47+
pkg_check_modules(RE2_PC re2)
48+
if(RE2_PC_FOUND)
49+
set(RE2_INCLUDE_DIR "${RE2_PC_INCLUDEDIR}")
50+
51+
list(APPEND RE2_PC_LIBRARY_DIRS "${RE2_PC_LIBDIR}")
52+
find_library(RE2_LIB re2
53+
PATHS ${RE2_PC_LIBRARY_DIRS}
54+
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES}
55+
NO_DEFAULT_PATH)
56+
57+
# On Fedora, the reported prefix is wrong. As users likely run into this,
58+
# workaround.
59+
# https://bugzilla.redhat.com/show_bug.cgi?id=1652589
60+
if(UNIX
61+
AND NOT APPLE
62+
AND NOT RE2_LIB)
63+
if(RE2_PC_PREFIX STREQUAL "/usr/local")
64+
find_library(RE2_LIB re2)
65+
endif()
66+
endif()
67+
else()
68+
find_library(RE2_LIB
69+
NAMES re2_static
70+
re2
71+
"${CMAKE_STATIC_LIBRARY_PREFIX}re2${RE2_MSVC_STATIC_LIB_SUFFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}"
72+
"${CMAKE_SHARED_LIBRARY_PREFIX}re2${CMAKE_SHARED_LIBRARY_SUFFIX}"
73+
PATH_SUFFIXES ${ARROW_LIBRARY_PATH_SUFFIXES})
74+
find_path(RE2_INCLUDE_DIR
75+
NAMES re2/re2.h
76+
PATH_SUFFIXES ${ARROW_INCLUDE_PATH_SUFFIXES})
77+
endif()
7678
endif()
7779

7880
find_package_handle_standard_args(re2Alt REQUIRED_VARS RE2_LIB RE2_INCLUDE_DIR)

0 commit comments

Comments
 (0)