From d88045a3b7c592d07c168d1bca060e3e26d61b73 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Tue, 9 Feb 2021 16:50:23 +0530 Subject: Make indentation of generated C sources optional. This is so as to not make indent a build dependency. * CMakeLists.txt: Indent generated C sources only when the indent program is found. Don't fail when indent is not found. --- CMakeLists.txt | 26 +++++++++++++++++--------- 1 file 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() -- cgit v1.2.3