[cmake] fail early if cannot find linker
This patch switches from SEND_ERROR to FATAL_ERROR mode for the linker
detection issues, so cmake doesn't continue with the processing, instead
stopping and reporting on the error right away [1].
I think the updated behavior makes more sense: while addressing recent
build issues on macOS, I spent some time digging into krb5-related error
reported by cmake later on, but it turned that the culprit was the issue
with finding a proper linker. It would save me some time if I turned my
attention to the linker-related error from the very beginning.
In addition, this patch removes the "Linker not found" status message
that might be confusing if the GET_LINKER_VERSION function runs for
multiple linker candidates (as of now, that's so at least for Linux).
[1] https://cmake.org/cmake/help/latest/command/message.html
Change-Id: I78c811acc7813de1c5d15a6a131b9749a76bf271
Reviewed-on: http://gerrit.cloudera.org:8080/18871
Tested-by: Kudu Jenkins
Reviewed-by: Yingchun Lai <acelyc1112009@gmail.com>
Reviewed-by: Attila Bukor <abukor@apache.org>
diff --git a/cmake_modules/KuduLinker.cmake b/cmake_modules/KuduLinker.cmake
index 0725bb0..c35df4f 100644
--- a/cmake_modules/KuduLinker.cmake
+++ b/cmake_modules/KuduLinker.cmake
@@ -84,7 +84,7 @@
endforeach()
if(NOT DEFINED linker_flags)
- message(SEND_ERROR "Could not find a suitable linker")
+ message(FATAL_ERROR "Could not find a suitable linker")
endif()
message(STATUS "Using linker flags: ${linker_flags}")
foreach(var CMAKE_SHARED_LINKER_FLAGS CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS)
@@ -176,7 +176,5 @@
if (LINKER_FOUND)
message(STATUS "Found linker: ${LINKER_FAMILY} version ${LINKER_VERSION}")
- else()
- message(STATUS "Linker not found")
endif()
endfunction()