From d4b1a69bec655976ce21b31e22587fc17d9c2253 Mon Sep 17 00:00:00 2001
From: Santiago Lo Coco <slococo@itba.edu.ar>
Date: Tue, 19 Apr 2022 13:16:20 -0300
Subject: [PATCH] Update compile.sh (using cmake)

---
 CMakeLists.txt |  8 ++++----
 compile.sh     | 19 ++++++++++---------
 2 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/CMakeLists.txt b/CMakeLists.txt
index 743ea63..0955e0d 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,7 +2,7 @@
 cmake_minimum_required(VERSION 3.22)
 
 # Nombre del proyecto, y lenguaje usado (C, en este caso):
-project(Compiler C)
+project(BFBCompiler C)
 
 # Compilar el parser con Bison:
 add_custom_command(
@@ -25,7 +25,7 @@ if (CMAKE_C_COMPILER_ID STREQUAL "GNU")
         OUTPUT ../src/frontend/lexical-analysis/flex-scanner.c
         COMMAND flex -o ../src/frontend/lexical-analysis/flex-scanner.c ../src/frontend/lexical-analysis/flex-patterns.l
         DEPENDS ../src/frontend/syntactic-analysis/bison-parser.c ../src/frontend/syntactic-analysis/bison-parser.h)
-           # COMMAND flex --debug -o ../src/frontend/lexical-analysis/flex-scanner.c ../src/frontend/lexical-analysis/flex-patterns.l
+        # COMMAND flex --debug -o ../src/frontend/lexical-analysis/flex-scanner.c ../src/frontend/lexical-analysis/flex-patterns.l
 
 elseif (CMAKE_C_COMPILER_ID STREQUAL "MSVC")
     message(NOTICE "El compilador de C es Microsoft Visual Studio.")
@@ -46,7 +46,7 @@ else ()
 endif ()
 
 # Especificar punto de entrada del proyecto y códigos fuente (extensión *.c):
-add_executable(Compiler
+add_executable(BFBCompiler
     src/main.c
     src/backend/code-generation/generator.c
     src/backend/domain-specific/calculator.c
@@ -57,4 +57,4 @@ add_executable(Compiler
     src/frontend/syntactic-analysis/bison-parser.c)
 
 # Linkear el proyecto y sus librerías:
-target_link_libraries(Compiler)
+target_link_libraries(BFBCompiler)
diff --git a/compile.sh b/compile.sh
index 3a8dccc..addb62c 100755
--- a/compile.sh
+++ b/compile.sh
@@ -1,12 +1,13 @@
 #!/bin/sh
 
-rm -f src/frontend/lexical-analysis/flex-scanner.c src/frontend/syntactic-analysis/bison-parser.c src/frontend/syntactic-analysis/bison-parser.h 
-rm -rf bin
-cmake -S . -B bin
-cd bin
-make
-if [ -f "../$1" ]; then
-    cat "../$1" | ./Compiler
-else
-    echo "$1" | ./Compiler
+if [ ! -d "bin" ]; then
+    cmake -S . -B bin
+fi
+
+cmake --build bin --clean-first
+
+if [ -f "$1" ]; then
+    cat "$1" | ./bin/BFBCompiler
+else
+    echo "$1" | ./bin/BFBCompiler
 fi