Repository: parquet-cpp Updated Branches: refs/heads/master 108d27cae -> 936650b27
PARQUET-939: Accept Thrift_HOME CMake variable like FindSnappy does as Snappy_HOME Author: Kouhei Sutou <[email protected]> Closes #285 from kou/accept-thrift-home-cmake-variable and squashes the following commits: 4d317e4 [Kouhei Sutou] Accept Thrift_HOME CMake variable like FindSnappy does as Snappy_HOME Project: http://git-wip-us.apache.org/repos/asf/parquet-cpp/repo Commit: http://git-wip-us.apache.org/repos/asf/parquet-cpp/commit/936650b2 Tree: http://git-wip-us.apache.org/repos/asf/parquet-cpp/tree/936650b2 Diff: http://git-wip-us.apache.org/repos/asf/parquet-cpp/diff/936650b2 Branch: refs/heads/master Commit: 936650b2747bc886dfd648fd6941a9d2957af763 Parents: 108d27c Author: Kouhei Sutou <[email protected]> Authored: Sun Apr 2 14:17:05 2017 +0200 Committer: Uwe L. Korn <[email protected]> Committed: Sun Apr 2 14:17:05 2017 +0200 ---------------------------------------------------------------------- cmake_modules/FindThrift.cmake | 45 +++++++++++++++++++++++++++---------- 1 file changed, 33 insertions(+), 12 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/parquet-cpp/blob/936650b2/cmake_modules/FindThrift.cmake ---------------------------------------------------------------------- diff --git a/cmake_modules/FindThrift.cmake b/cmake_modules/FindThrift.cmake index f5e93c2..57ed932 100644 --- a/cmake_modules/FindThrift.cmake +++ b/cmake_modules/FindThrift.cmake @@ -13,6 +13,14 @@ # limitations under the License. # - Find Thrift (a cross platform RPC lib/tool) +# +# Variables used by this module, they can change the default behaviour and need +# to be set before calling find_package: +# +# Thrift_HOME - When set, this path is inspected instead of standard library +# locations as the root of the Thrift installation. +# The environment variable THRIFT_HOME overrides this variable. +# # This module defines # THRIFT_VERSION, version string of ant if found # THRIFT_INCLUDE_DIR, where to find THRIFT headers @@ -21,35 +29,48 @@ # THRIFT_FOUND, If false, do not try to use ant # prefer the thrift version supplied in THRIFT_HOME +if( NOT "$ENV{THRIFT_HOME}" STREQUAL "") + file( TO_CMAKE_PATH "$ENV{THRIFT_HOME}" _native_path ) + list( APPEND _thrift_roots ${_native_path} ) +elseif ( Thrift_HOME ) + list( APPEND _thrift_roots ${Thrift_HOME} ) +endif() + message(STATUS "THRIFT_HOME: $ENV{THRIFT_HOME}") find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h HINTS - $ENV{THRIFT_HOME}/include/ + ${_thrift_roots} NO_DEFAULT_PATH + PATH_SUFFIXES "include" ) find_path(THRIFT_CONTRIB_DIR share/fb303/if/fb303.thrift HINTS - $ENV{THRIFT_HOME} + ${_thrift_roots} NO_DEFAULT_PATH ) -set(THRIFT_LIB_PATHS - $ENV{THRIFT_HOME}/lib - NO_DEFAULT_PATH) - -find_path(THRIFT_STATIC_LIB_PATH libthrift.a PATHS ${THRIFT_LIB_PATHS}) +find_library(THRIFT_STATIC_LIB + ${CMAKE_STATIC_LIBRARY_PREFIX}thrift${CMAKE_STATIC_LIBRARY_SUFFIX} + HINTS ${_thrift_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib" +) -# prefer the thrift version supplied in THRIFT_HOME -find_library(THRIFT_LIB NAMES thrift HINTS ${THRIFT_LIB_PATHS}) +find_library(THRIFT_LIB NAMES + ${CMAKE_SHARED_LIBRARY_PREFIX}thrift${CMAKE_SHARED_LIBRARY_SUFFIX} + HINTS ${_thrift_roots} + NO_DEFAULT_PATH + PATH_SUFFIXES "lib/${CMAKE_LIBRARY_ARCHITECTURE}" "lib" +) -find_program(THRIFT_COMPILER thrift - $ENV{THRIFT_HOME}/bin +find_program(THRIFT_COMPILER thrift HINTS + ${_thrift_roots} NO_DEFAULT_PATH + PATH_SUFFIXES "bin" ) if (THRIFT_LIB) set(THRIFT_FOUND TRUE) set(THRIFT_LIBS ${THRIFT_LIB}) - set(THRIFT_STATIC_LIB ${THRIFT_STATIC_LIB_PATH}/libthrift.a) exec_program(${THRIFT_COMPILER} ARGS -version OUTPUT_VARIABLE THRIFT_VERSION RETURN_VALUE THRIFT_RETURN) else ()
