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 2022/03/12 13:15:24 UTC
[GitHub] [arrow] kou commented on a change in pull request #12605: ARROW-15911: [C++] Find correct GTest on macOS with Xcode
kou commented on a change in pull request #12605:
URL: https://github.com/apache/arrow/pull/12605#discussion_r825298738
##########
File path: cpp/cmake_modules/ThirdpartyToolchain.cmake
##########
@@ -1844,10 +1844,14 @@ macro(build_gtest)
set(GTEST_VENDORED TRUE)
set(GTEST_CMAKE_CXX_FLAGS ${EP_CXX_FLAGS})
- if(CMAKE_BUILD_TYPE MATCHES DEBUG)
- set(CMAKE_GTEST_DEBUG_EXTENSION "d")
+ if(NOT CMAKE_GENERATOR STREQUAL Xcode)
Review comment:
How about using `GENERATOR_IS_MULTI_CONFIG` https://cmake.org/cmake/help/latest/prop_gbl/GENERATOR_IS_MULTI_CONFIG.html ?
We already use it: https://github.com/apache/arrow/blob/master/cpp/cmake_modules/ThirdpartyToolchain.cmake#L1941
##########
File path: cpp/cmake_modules/ThirdpartyToolchain.cmake
##########
@@ -1844,10 +1844,14 @@ macro(build_gtest)
set(GTEST_VENDORED TRUE)
set(GTEST_CMAKE_CXX_FLAGS ${EP_CXX_FLAGS})
- if(CMAKE_BUILD_TYPE MATCHES DEBUG)
- set(CMAKE_GTEST_DEBUG_EXTENSION "d")
+ if(NOT CMAKE_GENERATOR STREQUAL Xcode)
+ if(CMAKE_BUILD_TYPE MATCHES DEBUG)
+ set(CMAKE_GTEST_DEBUG_EXTENSION "d")
+ else()
+ set(CMAKE_GTEST_DEBUG_EXTENSION "")
+ endif()
else()
- set(CMAKE_GTEST_DEBUG_EXTENSION "")
+ set(CMAKE_GTEST_DEBUG_EXTENSION "d")
Review comment:
How about using generator expression https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html ? We can use generator expression in `ExternalProject_Add`'s arguments: https://cmake.org/cmake/help/latest/module/ExternalProject.html
```diff
diff --git a/cpp/cmake_modules/ThirdpartyToolchain.cmake b/cpp/cmake_modules/ThirdpartyToolchain.cmake
index ff48ac7ee5..44cab1d6b1 100644
--- a/cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ b/cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -1849,11 +1849,7 @@ macro(build_gtest)
set(GTEST_VENDORED TRUE)
set(GTEST_CMAKE_CXX_FLAGS ${EP_CXX_FLAGS})
- if(CMAKE_BUILD_TYPE MATCHES DEBUG)
- set(CMAKE_GTEST_DEBUG_EXTENSION "d")
- else()
- set(CMAKE_GTEST_DEBUG_EXTENSION "")
- endif()
+ set(CMAKE_GTEST_DEBUG_EXTENSION "$<$<CONFIG:Debug>,d>")
if(APPLE)
set(GTEST_CMAKE_CXX_FLAGS ${GTEST_CMAKE_CXX_FLAGS} -DGTEST_USE_OWN_TR1_TUPLE=1
@@ -1894,9 +1890,9 @@ macro(build_gtest)
set(GTEST_CMAKE_ARGS
${EP_COMMON_TOOLCHAIN}
-DBUILD_SHARED_LIBS=ON
- -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
+ -DCMAKE_BUILD_TYPE=$<CONFIG>
-DCMAKE_CXX_FLAGS=${GTEST_CMAKE_CXX_FLAGS}
- -DCMAKE_CXX_FLAGS_${UPPERCASE_BUILD_TYPE}=${GTEST_CMAKE_CXX_FLAGS}
+ -DCMAKE_CXX_FLAGS_$<UPPER_CASE:$<CONFIG>>=${GTEST_CMAKE_CXX_FLAGS}
-DCMAKE_INSTALL_LIBDIR=lib
-DCMAKE_INSTALL_NAME_DIR=${GTEST_INSTALL_NAME_DIR}
-DCMAKE_INSTALL_PREFIX=${GTEST_PREFIX}
```
--
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.
To unsubscribe, e-mail: github-unsubscribe@arrow.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org