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-unsubscr...@arrow.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org