Sfoglia il codice sorgente

Merge pull request #1615 from disarray2077/improve_build

Fail build when `execute_process` fails
Brian Fiete 3 anni fa
parent
commit
390275b7f3
2 ha cambiato i file con 19 aggiunte e 1 eliminazioni
  1. 9 0
      BeefBoot/CMakeLists.txt
  2. 10 1
      IDEHelper/CMakeLists.txt

+ 9 - 0
BeefBoot/CMakeLists.txt

@@ -137,8 +137,17 @@ execute_process(
   COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_13_0_1/bin/llvm-config --system-libs --link-static
   OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
   OUTPUT_STRIP_TRAILING_WHITESPACE
+  RESULT_VARIABLE EXEC_RESULT
 )
 
+if (EXEC_RESULT AND NOT EXEC_RESULT EQUAL 0)
+  if (EXEC_RESULT MATCHES "^[0-9]+$")
+    message(FATAL_ERROR "llvm-config exited with code ${EXEC_RESULT}.")
+  else()
+    message(FATAL_ERROR "llvm-config couldn't be executed: ${EXEC_RESULT}")
+  endif()
+endif()
+
 if (${APPLE})
     set(TARGET_LIBS_OS "")
 else()

+ 10 - 1
IDEHelper/CMakeLists.txt

@@ -195,9 +195,18 @@ add_library(${PROJECT_NAME} SHARED
 execute_process(
   COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../extern/llvm_linux_13_0_1/bin/llvm-config --system-libs --link-static
   OUTPUT_VARIABLE LLVM_SYSTEM_LIBS
-  OUTPUT_STRIP_TRAILING_WHITESPACE  
+  OUTPUT_STRIP_TRAILING_WHITESPACE
+  RESULT_VARIABLE EXEC_RESULT
 )
 
+if (EXEC_RESULT AND NOT EXEC_RESULT EQUAL 0)
+  if (EXEC_RESULT MATCHES "^[0-9]+$")
+    message(FATAL_ERROR "llvm-config exited with code ${EXEC_RESULT}.")
+  else()
+    message(FATAL_ERROR "llvm-config couldn't be executed: ${EXEC_RESULT}")
+  endif()
+endif()
+
 set(TARGET_LIBS_OS "${LLVM_SYSTEM_LIBS}")
 
 if (HAVE_BACKTRACE_HEADERS)