kou commented on code in PR #40603:
URL: https://github.com/apache/arrow/pull/40603#discussion_r1527678928
##########
cpp/cmake_modules/SetupCxxFlags.cmake:
##########
@@ -629,23 +629,27 @@ if(NOT WIN32 AND NOT APPLE)
if(ARROW_USE_MOLD)
find_program(LD_MOLD ld.mold)
if(LD_MOLD)
+ unset(MOLD_LINKER_FLAGS)
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER_EQUAL "12.1.0")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fuse-ld=mold")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fuse-ld=mold")
+ set(MOLD_LINKER_FLAGS "-fuse-ld=mold")
message(STATUS "Using optional mold linker")
else()
message(STATUS "Need GCC 12.1.0 or later to use mold linker:
${CMAKE_CXX_COMPILER_VERSION}"
)
endif()
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
- set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} --ld-path=${LD_MOLD}")
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} --ld-path=${LD_MOLD}")
+ set(MOLD_LINKER_FLAGS "--ld-path=${LD_MOLD}")
message(STATUS "Using optional mold linker")
else()
message(STATUS "Using the default linker because compiler doesn't
support mold: ${CMAKE_CXX_COMPILER_ID}"
)
endif()
+ if(MOLD_LINKER_FLAGS)
+ set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}
${MOLD_LINKER_FLAGS}")
+ set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS}
${MOLD_LINKER_FLAGS}")
+ set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS}
${MOLD_LINKER_FLAGS}")
Review Comment:
```suggestion
string(APPEND CMAKE_EXE_LINKER_FLAGS " ${MOLD_LINKER_FLAGS}")
string(APPEND CMAKE_MODULE_LINKER_FLAGS " ${MOLD_LINKER_FLAGS}")
string(APPEND CMAKE_SHARED_LINKER_FLAGS " ${MOLD_LINKER_FLAGS}")
```
--
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]