about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--CMakeLists.txt26
1 files changed, 17 insertions, 9 deletions
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 168eb01..360b931 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,21 +2,29 @@ cmake_minimum_required(VERSION 3.10)
 project(extent-sampling VERSION 0.1.0)
 
 find_package(GSL REQUIRED)
-# TODO: Make indent optional
-find_program(INDENT NAMES indent REQUIRED)
 find_program(SC NAMES sc REQUIRED)
+find_program(INDENT NAMES indent)
 
-# Generate C source files from SC source files.
+# Generate C source files from SC source files, and optionally indent
+# them.
 file(GLOB SC_SOURCES "src/*.sc")
 foreach(sc_source ${SC_SOURCES})
   get_filename_component(source_basename ${sc_source} NAME_WE)
   set(c_file ${source_basename}.c)
-  add_custom_command(
-    OUTPUT ${c_file}
-    COMMAND ${SC} ${sc_source} ${c_file}
-    COMMAND ${INDENT} ${c_file}
-    DEPENDS ${sc_source} src/macros/macros.sc
-    VERBATIM)
+  if(${INDENT} STREQUAL INDENT-NOTFOUND)
+    add_custom_command(
+      OUTPUT ${c_file}
+      COMMAND ${SC} ${sc_source} ${c_file}
+      DEPENDS ${sc_source} src/macros/macros.sc
+      VERBATIM)
+  else()
+    add_custom_command(
+      OUTPUT ${c_file}
+      COMMAND ${SC} ${sc_source} ${c_file}
+      COMMAND ${INDENT} ${c_file}
+      DEPENDS ${sc_source} src/macros/macros.sc
+      VERBATIM)
+  endif()
   list(APPEND C_SOURCES ${c_file})
 endforeach()