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: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]