Files
Calculator/CMakeLists.txt

51 lines
950 B
CMake
Raw Normal View History

2026-02-28 13:59:02 -06:00
cmake_minimum_required(VERSION 3.20)
project(calculator VERSION 1.0 LANGUAGES C)
set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)
2026-04-11 22:41:19 -06:00
# clangd
2026-02-28 13:59:02 -06:00
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_compile_options(
-Wall
-Wextra
-Wpedantic
)
include(cmake/CPM.cmake)
2026-02-28 13:59:02 -06:00
CPMAddPackage(
NAME arena
GIT_REPOSITORY https://laentropia-homelab.tail7368da.ts.net/laentropia/Arena.git
GIT_TAG main
2026-04-11 22:41:19 -06:00
)
CPMAddPackage(
NAME arraylist
GIT_REPOSITORY https://laentropia-homelab.tail7368da.ts.net/laentropia/ArrayList.git
GIT_TAG main
2026-04-11 22:41:19 -06:00
)
2026-02-28 13:59:02 -06:00
add_library(calculator_lib
src/lexer.c
src/parser.c
src/evaluator.c
2026-04-11 22:41:19 -06:00
)
target_include_directories(calculator_lib
PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include
)
target_link_libraries(calculator_lib
PUBLIC arena
PUBLIC arraylist
2026-05-13 18:48:14 -06:00
PRIVATE m
2026-02-28 13:59:02 -06:00
)
add_executable(calculator src/main.c)
target_link_libraries(calculator calculator_lib)
enable_testing()
add_subdirectory(test)