@@ -40,6 +40,7 @@ if (NOT "$ENV{ARROW_BUILD_TOOLCHAIN}" STREQUAL "")
4040 set (THRIFT_HOME "$ENV{ARROW_BUILD_TOOLCHAIN} " )
4141 set (ZLIB_HOME "$ENV{ARROW_BUILD_TOOLCHAIN} " )
4242 set (ZSTD_HOME "$ENV{ARROW_BUILD_TOOLCHAIN} " )
43+ set (GLOG_HOME "$ENV{ARROW_BUILD_TOOLCHAIN} " )
4344
4445 if (NOT DEFINED ENV{BOOST_ROOT})
4546 # Since we have to set this in the environment, we check whether
@@ -106,6 +107,10 @@ if (DEFINED ENV{ZSTD_HOME})
106107 set (ZSTD_HOME "$ENV{ZSTD_HOME} " )
107108endif ()
108109
110+ if (DEFINED ENV{GLOG_HOME})
111+ set (GLOG_HOME "$ENV{GLOG_HOME} " )
112+ endif ()
113+
109114# ----------------------------------------------------------------------
110115# Some EP's require other EP's
111116
@@ -238,6 +243,12 @@ else()
238243 set (ZSTD_SOURCE_URL "https://github.com/facebook/zstd/archive/v${ZSTD_VERSION} .tar.gz" )
239244endif ()
240245
246+ if (DEFINED ENV{ARROW_GLOG_URL})
247+ set (GLOG_SOURCE_URL "$ENV{ARROW_GLOG_URL} " )
248+ else ()
249+ set (GLOG_SOURCE_URL "https://github.com/google/glog/archive/v${GLOG_VERSION} .tar.gz" )
250+ endif ()
251+
241252# ----------------------------------------------------------------------
242253# ExternalProject options
243254
@@ -1261,42 +1272,51 @@ endif()
12611272
12621273endif () # ARROW_HIVESERVER2
12631274
1264- if (ARROW_USE_GLOG)
1265- message (STATUS "Starting to build glog" )
1266- set (GLOG_VERSION "0.3.5" )
1267- set (GLOG_CMAKE_CXX_FLAGS "${EP_CXX_FLAGS} -fPIC" )
1268- if (APPLE )
1269- # If we don't set this flag, the binary built with 10.13 cannot be used in 10.12.
1270- set (GLOG_CMAKE_CXX_FLAGS "${GLOG_CMAKE_CXX_FLAGS} -mmacosx-version-min=10.12" )
1271- endif ()
1275+ if (ARROW_USE_GLOG)
1276+ # ----------------------------------------------------------------------
1277+ # GLOG
12721278
1273- set (GLOG_URL "https://github.com/google/glog/archive/v${GLOG_VERSION} .tar.gz" )
1274- set (GLOG_PREFIX "${CMAKE_CURRENT_BINARY_DIR } /glog_ep/src/glog_ep-install" )
1275- set (GLOG_HOME "${GLOG_PREFIX} " )
1276- set (GLOG_INCLUDE_DIR "${GLOG_PREFIX} /include" )
1277- set (GLOG_STATIC_LIB "${GLOG_PREFIX} /lib/libglog.a" )
1279+ if ("${GLOG_HOME} " STREQUAL "" )
1280+ set (GLOG_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR } /glog_ep-prefix/src/glog_ep" )
1281+ set (GLOG_INCLUDE_DIR "${GLOG_BUILD_DIR} /include" )
1282+ set (GLOG_STATIC_LIB "${GLOG_BUILD_DIR} /lib/libglog.a" )
1283+ set (GLOG_CMAKE_CXX_FLAGS "${GLOG_CMAKE_CXX_FLAGS} -fPIC" )
1284+
1285+ if (APPLE )
1286+ # If we don't set this flag, the binary built with 10.13 cannot be used in 10.12.
1287+ set (GLOG_CMAKE_CXX_FLAGS "${GLOG_CMAKE_CXX_FLAGS} -mmacosx-version-min=10.12" )
1288+ endif ()
12781289
1279- set (GLOG_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE }
1280- -DCMAKE_INSTALL_PREFIX=${GLOG_PREFIX }
1290+ set (GLOG_CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE }
1291+ -DCMAKE_INSTALL_PREFIX=${GLOG_BUILD_DIR }
12811292 -DBUILD_SHARED_LIBS=OFF
12821293 -DBUILD_TESTING=OFF
12831294 -DWITH_GFLAGS=OFF
12841295 -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE} =${GLOG_CMAKE_CXX_FLAGS}
12851296 -DCMAKE_C_FLAGS_${UPPERCASE_BUILD_TYPE} =${EP_C_FLAGS}
12861297 -DCMAKE_CXX_FLAGS=${GLOG_CMAKE_CXX_FLAGS} )
1298+ message (STATUS "Glog version: ${GLOG_VERSION} " )
1299+ ExternalProject_Add (glog_ep
1300+ URL ${GLOG_SOURCE_URL}
1301+ #BUILD_IN_SOURCE 1
1302+ BUILD_BYPRODUCTS "${GLOG_STATIC_LIB} "
1303+ CMAKE_ARGS ${GLOG_CMAKE_ARGS}
1304+ ${EP_LOG_OPTIONS} )
12871305
1288- ExternalProject_Add (glog_ep
1289- URL ${GLOG_URL}
1290- ${EP_LOG_OPTIONS}
1291- BUILD_IN_SOURCE 1
1292- BUILD_BYPRODUCTS "${GLOG_STATIC_LIB} "
1293- CMAKE_ARGS ${GLOG_CMAKE_ARGS} )
1306+ set (GLOG_VENDORED 1)
1307+ else ()
1308+ find_package (GLOG REQUIRED )
1309+ set (GLOG_VENDORED 0)
1310+ endif ()
1311+
1312+ message (STATUS "Glog include dir: ${GLOG_INCLUDE_DIR} " )
1313+ message (STATUS "Glog static library: ${GLOG_STATIC_LIB} " )
12941314
1295- message (STATUS "GLog include dir: ${GLOG_INCLUDE_DIR} " )
1296- message (STATUS "GLog static library: ${GLOG_STATIC_LIB} " )
12971315 include_directories (SYSTEM ${GLOG_INCLUDE_DIR} )
1298- ADD_THIRDPARTY_LIB (glog
1316+ ADD_THIRDPARTY_LIB (glog_static
12991317 STATIC_LIB ${GLOG_STATIC_LIB} )
13001318
1301- add_dependencies (glog glog_ep )
1302- endif () # ARROW_USE_GLOG
1319+ if (GLOG_VENDORED)
1320+ add_dependencies (glog_static glog_ep )
1321+ endif ()
1322+ endif ()
0 commit comments