From c31a57815be4d3ef5f6fd28cc9a34b3be55bfe56 Mon Sep 17 00:00:00 2001 From: Arun Isaac Date: Fri, 5 Feb 2021 15:00:27 +0530 Subject: Migrate C source to SC. sph-sc is a scheme-like S-expression syntax for C. It elements much of the pain and repetition involved in writing C syntax. * src/extent-sampling.c, src/gaussian-nd-random.c, src/nd-random.c, src/oracles.c, src/utils.c: Delete files. * src/extent-sampling.sc, src/gaussian-nd-random.sc, src/macros/macros.sc, src/nd-random.sc, src/oracles.sc, src/utils.sc: New files. * CMakeLists.txt: Generate C source files from SC source files. --- CMakeLists.txt | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'CMakeLists.txt') diff --git a/CMakeLists.txt b/CMakeLists.txt index 94264c7..fc3a296 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,8 +2,24 @@ cmake_minimum_required(VERSION 3.10) project(extent-sampling VERSION 0.1) find_package(GSL REQUIRED) +# TODO: Make indent optional +find_program(INDENT NAMES indent REQUIRED) +find_program(SC NAMES sc REQUIRED) + +# Generate C source files from SC source files. +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} + VERBATIM) + list(APPEND C_SOURCES ${c_file}) +endforeach() include_directories("include") -file(GLOB SOURCES "src/*.c") -add_library(extentsampling SHARED ${SOURCES}) +add_library(extentsampling SHARED ${C_SOURCES}) -- cgit v1.2.3