You are viewing a plain text version of this content. The canonical link for it is here.
Posted to github@arrow.apache.org by GitBox <gi...@apache.org> on 2020/12/01 02:20:32 UTC

[GitHub] [arrow] kou commented on pull request #8782: ARROW-10746: [C++] Bump gtest version + use GTEST_SKIP in tests

kou commented on pull request #8782:
URL: https://github.com/apache/arrow/pull/8782#issuecomment-736172872


   It seems that the latest GoogleTest doesn't use the default `CMAKE_XXX_OUTPUT_DIRECTORY`: https://github.com/google/googletest/blob/master/googletest/cmake/internal_utils.cmake#L159-L164
   
   Could you try this?
   
   ```diff
   diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
   index df03c3129..e36571808 100644
   --- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
   +++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
   @@ -1603,21 +1603,16 @@ macro(build_gtest)
      set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/googletest_ep-prefix")
      set(GTEST_INCLUDE_DIR "${GTEST_PREFIX}/include")
    
   -  set(_GTEST_RUNTIME_DIR ${BUILD_OUTPUT_ROOT_DIRECTORY})
   +  set(_GTEST_LIBRARY_DIR "${GTEST_PREFIX}/lib")
    
      if(MSVC)
        set(_GTEST_IMPORTED_TYPE IMPORTED_IMPLIB)
        set(_GTEST_LIBRARY_SUFFIX
            "${CMAKE_GTEST_DEBUG_EXTENSION}${CMAKE_IMPORT_LIBRARY_SUFFIX}")
   -    # Use the import libraries from the EP
   -    set(_GTEST_LIBRARY_DIR "${GTEST_PREFIX}/lib")
      else()
        set(_GTEST_IMPORTED_TYPE IMPORTED_LOCATION)
        set(_GTEST_LIBRARY_SUFFIX
            "${CMAKE_GTEST_DEBUG_EXTENSION}${CMAKE_SHARED_LIBRARY_SUFFIX}")
   -
   -    # Library and runtime same on non-Windows
   -    set(_GTEST_LIBRARY_DIR "${_GTEST_RUNTIME_DIR}")
      endif()
    
      set(GTEST_SHARED_LIB
   @@ -1632,6 +1627,7 @@ macro(build_gtest)
          ${EP_COMMON_TOOLCHAIN}
          -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
          "-DCMAKE_INSTALL_PREFIX=${GTEST_PREFIX}"
   +      -DCMAKE_INSTALL_LIBDIR=lib
          -DBUILD_SHARED_LIBS=ON
          -DCMAKE_CXX_FLAGS=${GTEST_CMAKE_CXX_FLAGS}
          -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${GTEST_CMAKE_CXX_FLAGS})
   @@ -1641,27 +1637,6 @@ macro(build_gtest)
        set(GTEST_CMAKE_ARGS ${GTEST_CMAKE_ARGS} "-DCMAKE_MACOSX_RPATH:BOOL=ON")
      endif()
    
   -  if(CMAKE_GENERATOR STREQUAL "Xcode")
   -    # Xcode projects support multi-configuration builds.  This forces the gtest build
   -    # to use the same output directory as a single-configuration Makefile driven build.
   -    list(
   -      APPEND GTEST_CMAKE_ARGS "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${_GTEST_LIBRARY_DIR}"
   -             "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_RUNTIME_DIR}")
   -  endif()
   -
   -  if(MSVC)
   -    if(NOT ("${CMAKE_GENERATOR}" STREQUAL "Ninja"))
   -      set(_GTEST_RUNTIME_DIR ${_GTEST_RUNTIME_DIR}/${CMAKE_BUILD_TYPE})
   -    endif()
   -    set(GTEST_CMAKE_ARGS
   -        ${GTEST_CMAKE_ARGS} "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=${_GTEST_RUNTIME_DIR}"
   -        "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_RUNTIME_DIR}")
   -  else()
   -    list(
   -      APPEND GTEST_CMAKE_ARGS "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=${_GTEST_RUNTIME_DIR}"
   -             "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY_${CMAKE_BUILD_TYPE}=${_GTEST_RUNTIME_DIR}")
   -  endif()
   -
      add_definitions(-DGTEST_LINKED_AS_SHARED_LIBRARY=1)
    
      if(MSVC AND NOT ARROW_USE_STATIC_CRT)
   ```


----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

For queries about this service, please contact Infrastructure at:
users@infra.apache.org