Blob Blame History Raw
From 0dff15df552a9b15ab0c9711993757b86f5ea797 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Bj=C3=B6rn=20Esser?= <besser82@fedoraproject.org>
Date: Sun, 30 Apr 2017 12:28:29 +0200
Subject: [PATCH] Fix detection of Scala

---
 cmake/FindScala.cmake | 36 ++++++++++++++++++++----------------
 1 file changed, 20 insertions(+), 16 deletions(-)

diff --git a/cmake/FindScala.cmake b/cmake/FindScala.cmake
index 46c683e..4c852b3 100644
--- a/cmake/FindScala.cmake
+++ b/cmake/FindScala.cmake
@@ -6,6 +6,8 @@ set(_SCALA_PATHS
   /sw
   /usr
   /usr/share/java
+  /usr/share/scala
+  /usr/share/scala/lib
   )
 
 find_package(Java COMPONENTS Runtime)
@@ -25,29 +27,31 @@ find_program(Scala_SCALAC_EXECUTABLE
   PATHS ${_SCALA_PATHS}
   )
 
-find_jar(Scala_JAR_EXECUTABLE "scala-library")
+find_jar(Scala_JAR_EXECUTABLE
+  NAMES "scala-library"
+  PATHS ${_SCALA_PATHS}
+  )
 
-if(Scala_SCALA_EXECUTABLE)
-    execute_process(COMMAND ${Scala_SCALA_EXECUTABLE} -version
-      RESULT_VARIABLE SCALA_SEARCH_SUCCESS
-      OUTPUT_VARIABLE SCALA_VERSION
-      ERROR_VARIABLE SCALA_VERSION
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-      ERROR_STRIP_TRAILING_WHITESPACE)
-    if( SCALA_SEARCH_SUCCESS )
-      message( FATAL_ERROR "Error executing scala -version" )
-    else()
-      string(TOLOWER ${SCALA_VERSION} SCALA_VERSION)
-      string( REGEX REPLACE ".*([0-9]+\\.[0-9]+\\.[0-9_.]+.*)" "\\1" SCALA_VERSION "${SCALA_VERSION}" )
-      string( REGEX REPLACE "([0-9]+\\.[0-9]+\\.[0-9_.]).*" "\\1" SCALA_VERSION ${SCALA_VERSION} )
-    endif()
+if( "${Scala_SCALA_EXECUTABLE}" MATCHES "Scala_SCALA_EXECUTABLE-NOTFOUND" )
+  message( FATAL_ERROR "Error executing scala -version" )
+else()
+  execute_process(COMMAND ${Scala_SCALA_EXECUTABLE} -version
+    RESULT_VARIABLE SCALA_SEARCH_SUCCESS
+    OUTPUT_VARIABLE SCALA_VERSION
+    ERROR_VARIABLE SCALA_VERSION
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    ERROR_STRIP_TRAILING_WHITESPACE
+    )
+    string(TOLOWER ${SCALA_VERSION} SCALA_VERSION)
+    string( REGEX REPLACE ".*([0-9]+\\.[0-9]+\\.[0-9_.]+.*)" "\\1" SCALA_VERSION "${SCALA_VERSION}" )
+    string( REGEX REPLACE "([0-9]+\\.[0-9]+\\.[0-9_.]).*" "\\1" SCALA_VERSION ${SCALA_VERSION} )
 endif()
 
 include(FindPackageHandleStandardArgs)
 if (CMAKE_VERSION LESS 2.8.3)
   find_package_handle_standard_args(SCALA DEFAULT_MSG Scala_SCALA_EXECUTABLE)
 else ()
-  find_package_handle_standard_args(SCALA 
+  find_package_handle_standard_args(SCALA
       REQUIRED_VARS Scala_SCALA_EXECUTABLE Scala_SCALAC_EXECUTABLE Scala_JAR_EXECUTABLE
       VERSION_VAR SCALA_VERSION)
 endif ()