diff --git a/Meta/CMake/use_linker.cmake b/Meta/CMake/use_linker.cmake index 9a722b99ca4..e7186f83b56 100644 --- a/Meta/CMake/use_linker.cmake +++ b/Meta/CMake/use_linker.cmake @@ -19,8 +19,14 @@ if (NOT APPLE AND NOT LAGOM_USE_LINKER) endif() if (LAGOM_USE_LINKER) - set(LINKER_FLAG "-fuse-ld=${LAGOM_USE_LINKER}") - set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAG}") - set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAG}") - set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LINKER_FLAG}") + # FIXME: Move to only setting CMAKE_LINKER_TYPE once we drop support for CMake < 3.29 + if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.29) + string(TOUPPER ${LAGOM_USE_LINKER} linker_type) + set(CMAKE_LINKER_TYPE ${linker_type}) + else() + set(LINKER_FLAG "-fuse-ld=${LAGOM_USE_LINKER}") + set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAG}") + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAG}") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} ${LINKER_FLAG}") + endif() endif()