From ddc8537d88a1c9fa17c45eccef0e063128546a55 Mon Sep 17 00:00:00 2001
From: Sam Yates <halfflat@gmail.com>
Date: Wed, 26 Oct 2016 16:04:01 +0200
Subject: [PATCH] Configure-time test for julia

---
 CMakeLists.txt                        |  9 +++++++++
 validation/ref/numeric/CMakeLists.txt | 18 ++++++++++--------
 2 files changed, 19 insertions(+), 8 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 2760ff05..86bd6f78 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -96,6 +96,15 @@ set(VALIDATION_DATA_DIR "${CMAKE_SOURCE_DIR}/validation/data" CACHE PATH "locati
 # Whether to build validation data at all
 set(BUILD_VALIDATION_DATA ON CACHE BOOL "generate validation data")
 
+# Whether to attempt to use julia to build validation data
+find_program(JULIA_BIN julia)
+if(JULIA_BIN STREQUAL "JULIA_BIN-NOTFOUND")
+    message(STATUS "julia not found; will not automatically build validation data sets from julia scripts")
+    set(BUILD_JULIA_VALIDATION_DATA FALSE)
+else()
+    set(BUILD_JULIA_VALIDATION_DATA TRUE)
+endif()
+
 # Whether to attempt to use nrniv to build validation data
 # (if we find nrniv, do)
 find_program(NRNIV_BIN nrniv)
diff --git a/validation/ref/numeric/CMakeLists.txt b/validation/ref/numeric/CMakeLists.txt
index 68dc3792..ddb5001f 100644
--- a/validation/ref/numeric/CMakeLists.txt
+++ b/validation/ref/numeric/CMakeLists.txt
@@ -1,11 +1,13 @@
 # note: function add_validation_data defined in validation/CMakeLists.txt
 
-add_validation_data(
-    OUTPUT numeric_soma.json
-    DEPENDS numeric_soma.jl HHChannels.jl
-    COMMAND julia numeric_soma.jl)
+if(BUILD_JULIA_VALIDATION_DATA)
+    add_validation_data(
+        OUTPUT numeric_soma.json
+        DEPENDS numeric_soma.jl HHChannels.jl
+        COMMAND ${JULIA_BIN} numeric_soma.jl)
 
-add_validation_data(
-    OUTPUT numeric_rallpack1.json
-    DEPENDS numeric_rallpack1.jl PassiveCable.jl
-    COMMAND julia numeric_rallpack1.jl)
+    add_validation_data(
+        OUTPUT numeric_rallpack1.json
+        DEPENDS numeric_rallpack1.jl PassiveCable.jl
+        COMMAND ${JULIA_BIN} numeric_rallpack1.jl)
+endif()
-- 
GitLab