cmake_minimum_required(VERSION 3.20)
project(calculator VERSION 1.0 LANGUAGES C)

set(CMAKE_C_STANDARD 11)
set(CMAKE_C_STANDARD_REQUIRED ON)

# Export compile_commands.json (para clangd)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)

add_compile_options(
    -Wall
    -Wextra
    -Wpedantic
)


include_directories(include)

add_library(arraylist_lib
    src/arraylist.c
)

add_executable(arraylist_main src/main.c)

target_link_libraries(arraylist_main arraylist_lib)

function(enable_sanitizers target)
    target_compile_options(${target} PRIVATE -fsanitize=address -fno-omit-frame-pointer)
    target_link_options(${target} PRIVATE -fsanitize=address)
endfunction()


# ------------------------
# Testing
# ------------------------

enable_testing()
add_subdirectory(test)

